fixed sum() in Spark

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

Branch: refs/heads/TINKERPOP-1777
Commit: 912139ee6b38e63138ca45009d8ef019c8b11da4
Parents: e51c8c8
Author: Daniel Kuppitz <daniel_kupp...@hotmail.com>
Authored: Fri Mar 2 10:40:39 2018 -0700
Committer: Daniel Kuppitz <daniel_kupp...@hotmail.com>
Committed: Fri Mar 2 10:41:36 2018 -0700

----------------------------------------------------------------------
 .../optimization/interceptor/SparkStarBarrierInterceptor.java    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/912139ee/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/traversal/strategy/optimization/interceptor/SparkStarBarrierInterceptor.java
----------------------------------------------------------------------
diff --git 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/traversal/strategy/optimization/interceptor/SparkStarBarrierInterceptor.java
 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/traversal/strategy/optimization/interceptor/SparkStarBarrierInterceptor.java
index 3c89c1d..6509928 100644
--- 
a/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/traversal/strategy/optimization/interceptor/SparkStarBarrierInterceptor.java
+++ 
b/spark-gremlin/src/main/java/org/apache/tinkerpop/gremlin/spark/process/computer/traversal/strategy/optimization/interceptor/SparkStarBarrierInterceptor.java
@@ -98,9 +98,9 @@ public final class SparkStarBarrierInterceptor implements 
SparkVertexProgramInte
         // USE SPARK DSL FOR THE RESPECTIVE END REDUCING BARRIER STEP OF THE 
TRAVERSAL
         final Object result;
         if (endStep instanceof CountGlobalStep)
-            result = nextRDD.map(Traverser::bulk).fold(0l, (a, b) -> a + b);
+            result = nextRDD.map(Traverser::bulk).fold(0L, (a, b) -> a + b);
         else if (endStep instanceof SumGlobalStep) {
-            result = nextRDD
+            result = nextRDD.isEmpty() ? null : nextRDD
                     .map(traverser -> NumberHelper.mul(traverser.bulk(), 
(Number) traverser.get()))
                     .fold(0, NumberHelper::add);
         } else if (endStep instanceof MeanGlobalStep) {

Reply via email to