GoogleCloudPlatform / GoogleCloudPlatform/cloud-spanner-emulator
Spanner Graph -- Emulator does not support node/edge label reuse and 0-length path traversal
- Dominant language
- C++
- Stars
- 334
- Forks
- 77
- Avg merge
- 8m
- Merged PRs (30d)
- 2
Description
**Version:** 1.5.37
**Description:**
When testing our app against the Spanner Graph Emulator, we encountered two limitations that differ from behavior in production Spanner Graph:
1. **Label reuse**
* In production, using the same label for both a node and an edge is valid.
* In the emulator, this results in an error:
```
Label TYPE_HAS_CHILD is only valid for nodes, but used here on a edge ...
```
2. **0-length path traversal**
* Our use case requires traversals where the lower bound is 0 (so the starting node can also be the ending node).
* In the emulator, this fails with:
```
google.api_core.exceptions.MethodNotImplemented: 501 QuantifiedGraphPathOp for a lower bound of 0 is not yet implemented.
```
**Expected behavior:**
* The emulator should allow labels to be reused for both nodes and edges, consistent with production.
* Traversals with a length of 0 should be supported. consistent with production.
**Actual behavior:**
* Emulator rejects label reuse with an error.
* Emulator does not support `lower bound = 0` traversal, returning a `501 NotImplemented` error.
Are there plans to support these scenarios in the emulator?
Contributor guide
Assessment
This issue has not been assessed yet.