GoogleCloudPlatform / GoogleCloudPlatform/cloud-spanner-emulator

Spanner Graph -- Emulator does not support node/edge label reuse and 0-length path traversal

Open
#265 12 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.