split up start and terminate messages.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/51b30414 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/51b30414 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/51b30414 Branch: refs/heads/TINKERPOP-1564 Commit: 51b30414a56b306a37b4c5b772e0656b883f1856 Parents: 3bcc34d Author: Marko A. Rodriguez <[email protected]> Authored: Tue Dec 13 15:38:47 2016 -0700 Committer: Marko A. Rodriguez <[email protected]> Committed: Wed Jan 4 05:07:59 2017 -0700 ---------------------------------------------------------------------- .../process/actor/traversal/TraversalActorProgram.java | 2 +- .../process/actor/traversal/TraversalMasterProgram.java | 3 +++ .../process/actor/traversal/TraversalWorkerProgram.java | 10 +--------- 3 files changed, 5 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/51b30414/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actor/traversal/TraversalActorProgram.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actor/traversal/TraversalActorProgram.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actor/traversal/TraversalActorProgram.java index 3b0b8d8..dbf932d 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actor/traversal/TraversalActorProgram.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actor/traversal/TraversalActorProgram.java @@ -50,8 +50,8 @@ import java.util.List; public final class TraversalActorProgram<R> implements ActorProgram<TraverserSet<R>> { private static final List<Class> MESSAGE_PRIORITIES = Arrays.asList( - StartMessage.class, Traverser.class, + StartMessage.class, SideEffectAddMessage.class, BarrierAddMessage.class, SideEffectSetMessage.class, http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/51b30414/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actor/traversal/TraversalMasterProgram.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actor/traversal/TraversalMasterProgram.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actor/traversal/TraversalMasterProgram.java index 45fb6b9..d9153e5 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actor/traversal/TraversalMasterProgram.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actor/traversal/TraversalMasterProgram.java @@ -27,6 +27,7 @@ import org.apache.tinkerpop.gremlin.process.actor.traversal.message.BarrierDoneM import org.apache.tinkerpop.gremlin.process.actor.traversal.message.SideEffectAddMessage; import org.apache.tinkerpop.gremlin.process.actor.traversal.message.SideEffectSetMessage; import org.apache.tinkerpop.gremlin.process.actor.traversal.message.StartMessage; +import org.apache.tinkerpop.gremlin.process.actor.traversal.message.Terminate; import org.apache.tinkerpop.gremlin.process.actor.traversal.message.VoteToHaltMessage; import org.apache.tinkerpop.gremlin.process.traversal.Step; import org.apache.tinkerpop.gremlin.process.traversal.Traversal; @@ -71,6 +72,7 @@ final class TraversalMasterProgram<M> implements ActorProgram.Master<M> { public void setup() { this.leaderWorker = this.master.workers().get(0); this.broadcast(StartMessage.instance()); + this.master.send(this.leaderWorker, Terminate.MAYBE); } @Override @@ -103,6 +105,7 @@ final class TraversalMasterProgram<M> implements ActorProgram.Master<M> { } this.barriers.clear(); this.master.send(this.leaderWorker, StartMessage.instance()); + this.master.send(this.leaderWorker, Terminate.MAYBE); } else { while (this.traversal.hasNext()) { this.results.add((Traverser.Admin) this.traversal.nextTraverser()); http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/51b30414/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actor/traversal/TraversalWorkerProgram.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actor/traversal/TraversalWorkerProgram.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actor/traversal/TraversalWorkerProgram.java index 9e11da8..8579331 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actor/traversal/TraversalWorkerProgram.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/actor/traversal/TraversalWorkerProgram.java @@ -103,16 +103,8 @@ final class TraversalWorkerProgram<M> implements ActorProgram.Worker<M> { while (step.hasNext()) { this.sendTraverser(step.next()); } - // internal vote to have in mailbox as final message to process - // TODO: assert null == this.terminate; - if (this.isLeader) { - this.terminate = Terminate.MAYBE; - this.self.send(this.self.address(), VoteToHaltMessage.instance()); - } } else if (message instanceof Traverser.Admin) { - final Traverser.Admin<?> traverser = (Traverser.Admin) message; - this.processTraverser(traverser); - + this.processTraverser((Traverser.Admin) message); } else if (message instanceof SideEffectSetMessage) { this.matrix.getTraversal().getSideEffects().set(((SideEffectSetMessage) message).getKey(), ((SideEffectSetMessage) message).getValue()); } else if (message instanceof Terminate) {
