Marko A. Rodriguez created TINKERPOP-1281: ---------------------------------------------
Summary: Memory.HALTED_TRAVERSER transience is not sound. Key: TINKERPOP-1281 URL: https://issues.apache.org/jira/browse/TINKERPOP-1281 Project: TinkerPop Issue Type: Bug Components: process Affects Versions: 3.2.0-incubating Reporter: Marko A. Rodriguez {code} g.V().out().program(xxx) {code} The above {{xxx}} VertexProgram will have access to the {{VertexProperty.HALTED_TRAVERSERS}} from {{out()}}. {code} g.V().out().groupCount().program(yyy) {code} The above {{yyy}} VertexProgram will not have access to the {{Memory.HALTED_TRAVERSERS}} from {{groupCount()}} (barrier) because it will be declared transient. --------- [10:32 AM] Marko Rodriguez: this.memoryComputeKeys.add(MemoryComputeKey.of(HALTED_TRAVERSERS, Operator.addAll, false, this.keepDistributedHaltedTraversers)); // only keep if it will be preserved [10:32 AM] Daniel Kuppitz: when is keepDistributedHaltedTraversers false? [10:33 AM] Marko Rodriguez: this.keepDistributedHaltedTraversers = !(this.traversal.get().getParent().asStep().getNextStep() instanceof ComputerResultStep || // if its just going to stream it out, don't distribute this.traversal.get().getParent().asStep().getNextStep() instanceof EmptyStep || // same as above, but if using TraversalVertexProgramStep directly (this.traversal.get().getParent().asStep().getNextStep() instanceof ProfileStep && // same as above, but needed for profiling this.traversal.get().getParent().asStep().getNextStep().getNextStep() instanceof ComputerResultStep)); Show more given that ProgramVertexProgramStep is next, it will false and thus, Memory.HALTED_TRAVERSERS is transient and is erased. [10:34 AM] Marko Rodriguez: I think that is the problem. -- This message was sent by Atlassian JIRA (v6.3.4#6332)