now that MemoryComputeKeys are cloneable, they are cloned accordignly in TraversalVertexProgram.clone().
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/253248e5 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/253248e5 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/253248e5 Branch: refs/heads/tp32 Commit: 253248e52b334d3990f6364d45174abca00476cd Parents: 3dd1f6e Author: Marko A. Rodriguez <[email protected]> Authored: Wed Jan 4 12:50:17 2017 -0700 Committer: Marko A. Rodriguez <[email protected]> Committed: Thu Jan 5 17:00:17 2017 -0700 ---------------------------------------------------------------------- .../process/computer/traversal/TraversalVertexProgram.java | 4 ++++ 1 file changed, 4 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/253248e5/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java index b82e265..30739b4 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/computer/traversal/TraversalVertexProgram.java @@ -369,6 +369,10 @@ public final class TraversalVertexProgram implements VertexProgram<TraverserSet< if (!clone.traversal.get().isLocked()) clone.traversal.get().applyStrategies(); clone.traversalMatrix = new TraversalMatrix<>(clone.traversal.get()); + clone.memoryComputeKeys = new HashSet<>(); + for (final MemoryComputeKey memoryComputeKey : this.memoryComputeKeys) { + clone.memoryComputeKeys.add(memoryComputeKey.clone()); + } return clone; } catch (final CloneNotSupportedException e) { throw new IllegalStateException(e.getMessage(), e);
