SebastianGruza commented on PR #3184:
URL: https://github.com/apache/hugegraph/pull/3184#issuecomment-5512809788
**Live A/B validation** — single-node PD + Store + Server cluster built from
source (Temurin 17), fresh graph, schema/data/queries from the reproducer
linked in the PR description. Same running cluster, `hugegraph-hstore` jar
swapped in both directions between runs.
**Before — `master` (98477f0):** both sort-key queries crash in store-side
row decoding, reached from `HstoreTable.queryByRange:653`:
<details>
<summary>master: full responses with stack traces (2 queries, 2
crashes)</summary>
```
=== master (98477f0), hugegraph-hstore jar without the patch ===
### GET
/graph/edges?vertex_id=a&direction=OUT&label=flow&properties={"asset":"ETC"}
{"exception":"class
org.apache.hugegraph.store.client.type.HgStoreClientException","message":"io.grpc.StatusRuntimeException:
INTERNAL: an exception occurred while scanning data:Can't construct
Cardinality from code 0,java.lang.IllegalArgumentException: Can't construct
Cardinality from code 0\n\tat
com.google.common.base.Preconditions.checkArgument(Preconditions.java:165)\n\tat
org.apache.hugegraph.util.E.checkArgument(E.java:52)\n\tat
org.apache.hugegraph.type.define.SerialEnum.fromCode(SerialEnum.java:50)\n\tat
org.apache.hugegraph.serializer.BytesBuffer.readProperty(BytesBuffer.java:589)\n\tat
org.apache.hugegraph.serializer.BinaryElementSerializer.parseProperty(BinaryElementSerializer.java:116)\n\tat
org.apache.hugegraph.serializer.BinaryElementSerializer.parseProperties(BinaryElementSerializer.java:135)\n\tat
org.apache.hugegraph.serializer.BinaryElementSerializer.parseEdge(BinaryElementSerializer.java:296)\n\tat
org.apache.hugegraph.store.business.FilterIterator.hasNext(Filt
erIterator.java:67)\n\tat
org.apache.hugegraph.store.business.SelectIterator.hasNext(SelectIterator.java:74)\n\tat
org.apache.hugegraph.store.node.grpc.ScanStreamResponse.lambda$initIterator$0(ScanStreamResponse.java:146)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\n\tat
java.base/java.lang.Thread.run(Thread.java:840)\n","cause":"io.grpc.StatusRuntimeException:
INTERNAL: an exception occurred while scanning data:Can't construct
Cardinality from code 0,java.lang.IllegalArgumentException: Can't construct
Cardinality from code 0\n\tat
com.google.common.base.Preconditions.checkArgument(Preconditions.java:165)\n\tat
org.apache.hugegraph.util.E.checkArgument(E.java:52)\n\tat
org.apache.hugegraph.type.define.SerialEnum.fromCode(SerialEnum.java:50)\n\tat
org.apache.hugegraph.serializer.BytesBuffer.readProperty(BytesBuffer.java:589)\n\tat
org.apa
che.hugegraph.serializer.BinaryElementSerializer.parseProperty(BinaryElementSerializer.java:116)\n\tat
org.apache.hugegraph.serializer.BinaryElementSerializer.parseProperties(BinaryElementSerializer.java:135)\n\tat
org.apache.hugegraph.serializer.BinaryElementSerializer.parseEdge(BinaryElementSerializer.java:296)\n\tat
org.apache.hugegraph.store.business.FilterIterator.hasNext(FilterIterator.java:67)\n\tat
org.apache.hugegraph.store.business.SelectIterator.hasNext(SelectIterator.java:74)\n\tat
org.apache.hugegraph.store.node.grpc.ScanStreamResponse.lambda$initIterator$0(ScanStreamResponse.java:146)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\n\tat
java.base/java.lang.Thread.run(Thread.java:840)\n","trace":["org.apache.hugegraph.store.client.type.HgStoreClientException.of(HgStoreClientException.java:46)","org.apache.hugegraph.store.client
.util.HgBufferProxy.checkErr(HgBufferProxy.java:159)","org.apache.hugegraph.store.client.util.HgBufferProxy.receive(HgBufferProxy.java:129)","org.apache.hugegraph.store.client.grpc.KvPageScanner.hasNext(KvPageScanner.java:222)","org.apache.hugegraph.store.client.grpc.GrpcKvIteratorImpl.hasNext(GrpcKvIteratorImpl.java:77)","org.apache.hugegraph.store.client.SequencedIterator.getIterator(SequencedIterator.java:64)","org.apache.hugegraph.store.client.SequencedIterator.hasNext(SequencedIterator.java:116)","org.apache.hugegraph.backend.store.hstore.HstoreSessionsImpl$ColumnIterator.<init>(HstoreSessionsImpl.java:245)","org.apache.hugegraph.backend.store.hstore.HstoreSessionsImpl$HstoreSession.scan(HstoreSessionsImpl.java:727)","org.apache.hugegraph.backend.store.hstore.HstoreTable.queryByRange(HstoreTable.java:653)","org.apache.hugegraph.backend.store.hstore.HstoreTable.queryBy(HstoreTable.java:422)","org.apache.hugegraph.backend.store.hstore.HstoreTable.query(HstoreTable.java:319)","org
.apache.hugegraph.backend.store.hstore.HstoreStore.query(HstoreStore.java:342)","org.apache.hugegraph.backend.tx.AbstractTransaction.query(AbstractTransaction.java:161)","org.apache.hugegraph.backend.tx.GraphTransaction.lambda$query$0(GraphTransaction.java:542)","org.apache.hugegraph.backend.page.QueryList$OptimizedQuery.iterator(QueryList.java:162)","org.apache.hugegraph.backend.query.QueryResults.lambda$flatMap$0(QueryResults.java:196)","org.apache.hugegraph.iterator.FlatMapperIterator.fetch(FlatMapperIterator.java:60)","org.apache.hugegraph.iterator.WrappedIterator.hasNext(WrappedIterator.java:38)","org.apache.hugegraph.iterator.FlatMapperIterator.fetch(FlatMapperIterator.java:56)","org.apache.hugegraph.iterator.WrappedIterator.hasNext(WrappedIterator.java:38)","org.apache.hugegraph.iterator.FilterIterator.fetch(FilterIterator.java:40)","org.apache.hugegraph.iterator.WrappedIterator.hasNext(WrappedIterator.java:38)","org.apache.hugegraph.backend.query.QueryResults.keepInputOrderI
fNeeded(QueryResults.java:109)","org.apache.hugegraph.backend.tx.GraphTransaction.queryEdgesFromBackendInternal(GraphTransaction.java:1106)","org.apache.hugegraph.backend.tx.GraphTransaction.lambda$queryEdgesFromBackend$7(GraphTransaction.java:1071)","java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)","java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720)","java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)","java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)","java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)","java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)","java.base/java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:662)","org.apache.hugegraph.backend.tx.GraphTransaction.queryEdgesFromBackend(GraphTransaction.java:1075)","org.apache.hugegraph.backend.cache.Ca
chedGraphTransaction.queryEdgesFromBackend(CachedGraphTransaction.java:422)","org.apache.hugegraph.backend.tx.GraphTransaction.queryEdges(GraphTransaction.java:1013)","org.apache.hugegraph.StandardHugeGraph.edges(StandardHugeGraph.java:865)","org.apache.hugegraph.traversal.optimize.HugeVertexStep.queryEdges(HugeVertexStep.java:116)","org.apache.hugegraph.traversal.optimize.HugeVertexStep.edges(HugeVertexStep.java:97)","org.apache.hugegraph.traversal.optimize.HugeVertexStep.flatMap(HugeVertexStep.java:76)","org.apache.tinkerpop.gremlin.process.traversal.step.map.FlatMapStep.processNextStart(FlatMapStep.java:49)","org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:150)","org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:55)","org.apache.tinkerpop.gremlin.process.traversal.step.filter.FilterStep.processNextStart(FilterStep.java:37)","org.apache.tinkerpop.gremlin.process.traversal
.step.util.AbstractStep.hasNext(AbstractStep.java:150)","org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.hasNext(DefaultTraversal.java:222)","org.apache.hugegraph.serializer.JsonSerializer.writeIterator(JsonSerializer.java:107)","org.apache.hugegraph.serializer.JsonSerializer.writeEdges(JsonSerializer.java:253)","org.apache.hugegraph.api.graph.EdgeAPI.list(EdgeAPI.java:356)","java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)","java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)","java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)","java.base/java.lang.reflect.Method.invoke(Method.java:569)","org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)","org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaRes
ourceMethodDispatcher.java:124)","org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)","org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:219)","org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)","org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:475)","org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:397)","org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81)","org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:255)","org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)","org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)","org.glassfish.jersey.internal.Errors.process(Er
rors.java:292)","org.glassfish.jersey.internal.Errors.process(Errors.java:274)","org.glassfish.jersey.internal.Errors.process(Errors.java:244)","org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)","org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:234)","org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:684)","org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:356)","org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:190)","org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:535)","org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:515)","java.base/java.lang.Thread.run(Thread.java:840)"]}
### GET
/graph/edges?vertex_id=a&direction=OUT&label=flow&properties={"asset":"ETC","epoch":"P.gte(150)"}
{"exception":"class
org.apache.hugegraph.store.client.type.HgStoreClientException","message":"io.grpc.StatusRuntimeException:
INTERNAL: an exception occurred while scanning data:Unsupported data type
UNKNOWN,java.lang.IllegalArgumentException: Unsupported data type UNKNOWN\n\tat
org.apache.hugegraph.serializer.BytesBuffer.readProperty(BytesBuffer.java:674)\n\tat
org.apache.hugegraph.serializer.BytesBuffer.readProperty(BytesBuffer.java:596)\n\tat
org.apache.hugegraph.serializer.BinaryElementSerializer.parseProperty(BinaryElementSerializer.java:116)\n\tat
org.apache.hugegraph.serializer.BinaryElementSerializer.parseProperties(BinaryElementSerializer.java:135)\n\tat
org.apache.hugegraph.serializer.BinaryElementSerializer.parseEdge(BinaryElementSerializer.java:296)\n\tat
org.apache.hugegraph.store.business.FilterIterator.hasNext(FilterIterator.java:67)\n\tat
org.apache.hugegraph.store.business.SelectIterator.hasNext(SelectIterator.java:74)\n\tat
org.apache.hugegraph.store.node.grpc.Sc
anStreamResponse.lambda$initIterator$0(ScanStreamResponse.java:146)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\n\tat
java.base/java.lang.Thread.run(Thread.java:840)\n","cause":"io.grpc.StatusRuntimeException:
INTERNAL: an exception occurred while scanning data:Unsupported data type
UNKNOWN,java.lang.IllegalArgumentException: Unsupported data type UNKNOWN\n\tat
org.apache.hugegraph.serializer.BytesBuffer.readProperty(BytesBuffer.java:674)\n\tat
org.apache.hugegraph.serializer.BytesBuffer.readProperty(BytesBuffer.java:596)\n\tat
org.apache.hugegraph.serializer.BinaryElementSerializer.parseProperty(BinaryElementSerializer.java:116)\n\tat
org.apache.hugegraph.serializer.BinaryElementSerializer.parseProperties(BinaryElementSerializer.java:135)\n\tat
org.apache.hugegraph.serializer.BinaryElementSerializer.parseEdge(BinaryElementSerializer.jav
a:296)\n\tat
org.apache.hugegraph.store.business.FilterIterator.hasNext(FilterIterator.java:67)\n\tat
org.apache.hugegraph.store.business.SelectIterator.hasNext(SelectIterator.java:74)\n\tat
org.apache.hugegraph.store.node.grpc.ScanStreamResponse.lambda$initIterator$0(ScanStreamResponse.java:146)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)\n\tat
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)\n\tat
java.base/java.lang.Thread.run(Thread.java:840)\n","trace":["org.apache.hugegraph.store.client.type.HgStoreClientException.of(HgStoreClientException.java:46)","org.apache.hugegraph.store.client.util.HgBufferProxy.checkErr(HgBufferProxy.java:159)","org.apache.hugegraph.store.client.util.HgBufferProxy.receive(HgBufferProxy.java:129)","org.apache.hugegraph.store.client.grpc.KvPageScanner.hasNext(KvPageScanner.java:222)","org.apache.hugegraph.store.client.grpc.GrpcKvIteratorImpl.hasNext(GrpcKvIterato
rImpl.java:77)","org.apache.hugegraph.store.client.SequencedIterator.getIterator(SequencedIterator.java:64)","org.apache.hugegraph.store.client.SequencedIterator.hasNext(SequencedIterator.java:116)","org.apache.hugegraph.backend.store.hstore.HstoreSessionsImpl$ColumnIterator.<init>(HstoreSessionsImpl.java:245)","org.apache.hugegraph.backend.store.hstore.HstoreSessionsImpl$HstoreSession.scan(HstoreSessionsImpl.java:727)","org.apache.hugegraph.backend.store.hstore.HstoreTable.queryByRange(HstoreTable.java:653)","org.apache.hugegraph.backend.store.hstore.HstoreTable.queryBy(HstoreTable.java:422)","org.apache.hugegraph.backend.store.hstore.HstoreTable.query(HstoreTable.java:319)","org.apache.hugegraph.backend.store.hstore.HstoreStore.query(HstoreStore.java:342)","org.apache.hugegraph.backend.tx.AbstractTransaction.query(AbstractTransaction.java:161)","org.apache.hugegraph.backend.tx.GraphTransaction.lambda$query$0(GraphTransaction.java:542)","org.apache.hugegraph.backend.page.QueryList$
OptimizedQuery.iterator(QueryList.java:162)","org.apache.hugegraph.backend.query.QueryResults.lambda$flatMap$0(QueryResults.java:196)","org.apache.hugegraph.iterator.FlatMapperIterator.fetch(FlatMapperIterator.java:60)","org.apache.hugegraph.iterator.WrappedIterator.hasNext(WrappedIterator.java:38)","org.apache.hugegraph.iterator.FlatMapperIterator.fetch(FlatMapperIterator.java:56)","org.apache.hugegraph.iterator.WrappedIterator.hasNext(WrappedIterator.java:38)","org.apache.hugegraph.iterator.FilterIterator.fetch(FilterIterator.java:40)","org.apache.hugegraph.iterator.WrappedIterator.hasNext(WrappedIterator.java:38)","org.apache.hugegraph.backend.query.QueryResults.keepInputOrderIfNeeded(QueryResults.java:109)","org.apache.hugegraph.backend.tx.GraphTransaction.queryEdgesFromBackendInternal(GraphTransaction.java:1106)","org.apache.hugegraph.backend.tx.GraphTransaction.lambda$queryEdgesFromBackend$7(GraphTransaction.java:1071)","java.base/java.util.stream.ReferencePipeline$3$1.accept(
ReferencePipeline.java:197)","java.base/java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:720)","java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)","java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)","java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)","java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)","java.base/java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:662)","org.apache.hugegraph.backend.tx.GraphTransaction.queryEdgesFromBackend(GraphTransaction.java:1075)","org.apache.hugegraph.backend.cache.CachedGraphTransaction.queryEdgesFromBackend(CachedGraphTransaction.java:422)","org.apache.hugegraph.backend.tx.GraphTransaction.queryEdges(GraphTransaction.java:1013)","org.apache.hugegraph.StandardHugeGraph.edges(StandardHugeGraph.java:865)","org.apache.hugegraph.traversal.optimize.HugeVertexStep.queryEdges
(HugeVertexStep.java:116)","org.apache.hugegraph.traversal.optimize.HugeVertexStep.edges(HugeVertexStep.java:97)","org.apache.hugegraph.traversal.optimize.HugeVertexStep.flatMap(HugeVertexStep.java:76)","org.apache.tinkerpop.gremlin.process.traversal.step.map.FlatMapStep.processNextStart(FlatMapStep.java:49)","org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:150)","org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:55)","org.apache.tinkerpop.gremlin.process.traversal.step.filter.FilterStep.processNextStart(FilterStep.java:37)","org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:150)","org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.hasNext(DefaultTraversal.java:222)","org.apache.hugegraph.serializer.JsonSerializer.writeIterator(JsonSerializer.java:107)","org.apache.hugegraph.serializer.JsonSerializer.writeEdges
(JsonSerializer.java:253)","org.apache.hugegraph.api.graph.EdgeAPI.list(EdgeAPI.java:356)","java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)","java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)","java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)","java.base/java.lang.reflect.Method.invoke(Method.java:569)","org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:52)","org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:124)","org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:167)","org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProv
ider.java:219)","org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:79)","org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:475)","org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:397)","org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:81)","org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:255)","org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)","org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)","org.glassfish.jersey.internal.Errors.process(Errors.java:292)","org.glassfish.jersey.internal.Errors.process(Errors.java:274)","org.glassfish.jersey.internal.Errors.process(Errors.java:244)","org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:265)","org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:234)","
org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:684)","org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpContainer.service(GrizzlyHttpContainer.java:356)","org.glassfish.grizzly.http.server.HttpHandler$1.run(HttpHandler.java:190)","org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:535)","org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:515)","java.base/java.lang.Thread.run(Thread.java:840)"]}
```
</details>
**After — this branch (847fab9):** the same queries return the correct edges
(the remaining 4 reproducer queries also pass — 3/1/2/0 edges as expected):
```
=== branch fix-hstore-range-sinking-guard (847fab9) ===
### GET
/graph/edges?vertex_id=a&direction=OUT&label=flow&properties={"asset":"ETC"}
{"edges":[{"id":"Sa>1>1>ETC!21_>Sb","label":"flow","type":"edge","outV":"a","outVLabel":"node","inV":"b","inVLabel":"node","properties":{"amount":1.5,"asset":"ETC","epoch":100}},{"id":"Sa>1>1>ETC!238>Sb","label":"flow","type":"edge","outV":"a","outVLabel":"node","inV":"b","inVLabel":"node","properties":{"amount":2.5,"asset":"ETC","epoch":200}}]}
### GET
/graph/edges?vertex_id=a&direction=OUT&label=flow&properties={"asset":"ETC","epoch":"P.gte(150)"}
{"edges":[{"id":"Sa>1>1>ETC!238>Sb","label":"flow","type":"edge","outV":"a","outVLabel":"node","inV":"b","inVLabel":"node","properties":{"amount":2.5,"asset":"ETC","epoch":200}}]}
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]