tinkerpop-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From spmalle...@apache.org
Subject [04/45] tinkerpop git commit: CTR: ExecutorServices in TinkerGraphComputer and SparkGraphComputer can only be used, but they were not shut down after being used. This prevented applications from shutting down properly as there were still threads lingerin
Date Mon, 20 Mar 2017 18:09:37 GMT
CTR: ExecutorServices in TinkerGraphComputer and SparkGraphComputer can only be used, but
they were not shut down after being used. This prevented applications from shutting down
properly as there were still threads lingering. I'm not sure about GiraphGraphComputer as
it uses a slightly different model.


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

Branch: refs/heads/TINKERPOP-1642
Commit: df285d38027d46f5dcabf4ce5831b6028624bc9f
Parents: 258dccb
Author: Daniel Kuppitz <daniel_kuppitz@hotmail.com>
Authored: Wed Mar 8 22:20:33 2017 +0100
Committer: Daniel Kuppitz <daniel_kuppitz@hotmail.com>
Committed: Wed Mar 8 22:20:33 2017 +0100

----------------------------------------------------------------------
 .../gremlin/spark/process/computer/SparkGraphComputer.java       | 4 +++-
 .../tinkergraph/process/computer/TinkerGraphComputer.java        | 4 +++-
 2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/df285d38/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkGraphComputer.java
----------------------------------------------------------------------
diff --git a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkGraphComputer.java
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkGraphComputer.java
index 6d2742b..00a2e46 100644
--- a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkGraphComputer.java
+++ b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/SparkGraphComputer.java
@@ -131,7 +131,7 @@ public final class SparkGraphComputer extends AbstractHadoopGraphComputer
{
 
     private Future<ComputerResult> submitWithExecutor(Executor exec) {
         // create the completable future
-        return computerService.submit(() -> {
+        final Future<ComputerResult> result = computerService.submit(() -> {
             final long startTime = System.currentTimeMillis();
             // apache and hadoop configurations that are used throughout the graph computer
computation
             final org.apache.commons.configuration.Configuration graphComputerConfiguration
= new HadoopConfiguration(this.sparkConfiguration);
@@ -378,6 +378,8 @@ public final class SparkGraphComputer extends AbstractHadoopGraphComputer
{
                     Spark.close();
             }
         });
+        computerService.shutdown();
+        return result;
     }
 
     /////////////////

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/df285d38/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/computer/TinkerGraphComputer.java
----------------------------------------------------------------------
diff --git a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/computer/TinkerGraphComputer.java
b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/computer/TinkerGraphComputer.java
index 2abce9a..bf6f594 100644
--- a/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/computer/TinkerGraphComputer.java
+++ b/tinkergraph-gremlin/src/main/java/org/apache/tinkerpop/gremlin/tinkergraph/process/computer/TinkerGraphComputer.java
@@ -154,7 +154,7 @@ public final class TinkerGraphComputer implements GraphComputer {
 
         // initialize the memory
         this.memory = new TinkerMemory(this.vertexProgram, this.mapReducers);
-        return computerService.submit(() -> {
+        final Future<ComputerResult> result = computerService.submit(() -> {
             final long time = System.currentTimeMillis();
             final TinkerGraphComputerView view = TinkerHelper.createGraphComputerView(this.graph,
this.graphFilter, null != this.vertexProgram ? this.vertexProgram.getVertexComputeKeys() :
Collections.emptySet());
             final TinkerWorkerPool workers = new TinkerWorkerPool(this.graph, this.memory,
this.workers);
@@ -246,6 +246,8 @@ public final class TinkerGraphComputer implements GraphComputer {
                 workers.close();
             }
         });
+        this.computerService.shutdown();
+        return result;
     }
 
     @Override


Mime
View raw message