You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by ok...@apache.org on 2016/05/03 00:36:31 UTC

incubator-tinkerpop git commit: more minor memory tweaks. running integration tests over night.

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-1120 e3a4b7ff9 -> 6f13c0cfc


more minor memory tweaks. running integration tests over night.


Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/6f13c0cf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/6f13c0cf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/6f13c0cf

Branch: refs/heads/TINKERPOP-1120
Commit: 6f13c0cfc20d8c0cbf1681359792e543bd3676bc
Parents: e3a4b7f
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Mon May 2 16:36:26 2016 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Mon May 2 16:36:26 2016 -0600

----------------------------------------------------------------------
 .../gremlin/spark/process/computer/SparkExecutor.java         | 7 ++++---
 .../spark/process/computer/payload/ViewIncomingPayload.java   | 4 +++-
 2 files changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/6f13c0cf/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkExecutor.java
----------------------------------------------------------------------
diff --git a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkExecutor.java b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkExecutor.java
index cd1440d..520701e 100644
--- a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkExecutor.java
+++ b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkExecutor.java
@@ -101,12 +101,13 @@ public final class SparkExecutor {
                         // drop any computed properties that are cached in memory
                         if (elementComputeKeysArray.length > 0) vertex.dropVertexProperties(elementComputeKeysArray);
                         final List<M> incomingMessages = hasViewAndMessages ? vertexViewIncoming._2()._2().get().getIncomingMessages() : Collections.emptyList();
-                        previousView.forEach(property -> property.attach(Attachable.Method.create(vertex)));  // attach the view to the vertex
-                        previousView.clear(); // no longer needed so kill it from memory
+                        IteratorUtils.removeOnNext(previousView.iterator()).forEachRemaining(property -> property.attach(Attachable.Method.create(vertex)));  // attach the view to the vertex
+                        assert previousView.isEmpty();
                         ///
                         messenger.setVertexAndIncomingMessages(vertex, incomingMessages); // set the messenger with the incoming messages
                         workerVertexProgram.execute(ComputerGraph.vertexProgram(vertex, workerVertexProgram), messenger, memory); // execute the vertex program on this vertex for this iteration
-                        incomingMessages.clear(); // no longer needed so kill it from memory
+                        // assert incomingMessages.isEmpty();  // maybe the program didn't read all the messages
+                        incomingMessages.clear();
                         ///
                         final List<DetachedVertexProperty<Object>> nextView = elementComputeKeysArray.length == 0 ?  // not all vertex programs have compute keys
                                 Collections.emptyList() :

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/6f13c0cf/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/payload/ViewIncomingPayload.java
----------------------------------------------------------------------
diff --git a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/payload/ViewIncomingPayload.java b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/payload/ViewIncomingPayload.java
index 94b124b..4c4850b 100644
--- a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/payload/ViewIncomingPayload.java
+++ b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/payload/ViewIncomingPayload.java
@@ -44,7 +44,9 @@ public final class ViewIncomingPayload<M> implements Payload {
 
     public ViewIncomingPayload(final ViewPayload viewPayload) {
         this.incomingMessages = null;
-        this.view = viewPayload.getView().isEmpty() ? null : viewPayload.getView();
+        this.view = viewPayload.getView();
+        if (this.view.isEmpty())
+            this.view = null;
     }