You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Marko A. Rodriguez (JIRA)" <ji...@apache.org> on 2016/04/28 18:40:12 UTC

[jira] [Created] (TINKERPOP-1281) Memory.HALTED_TRAVERSER transience is not sound.

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)