You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2017/07/19 19:19:45 UTC

[46/50] [abbrv] tinkerpop git commit: added the TraversalStrategies to Gryo v1 in the tp32/ line. Note that this is not working... Perhaps @spmallette can finish off this branch or else, note that this is fixed in master/ 3.3.0-SNAPSHOT.

added the TraversalStrategies to Gryo v1 in the tp32/ line. Note that this is not working... Perhaps @spmallette can finish off this branch or else, note that this is fixed in master/ 3.3.0-SNAPSHOT.


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

Branch: refs/heads/TINKERPOP-1716
Commit: b38a8d6661a766d58129845934118e0c1260e253
Parents: a2553b3
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Tue Jul 11 10:06:01 2017 -0600
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Jul 19 07:42:44 2017 -0400

----------------------------------------------------------------------
 CHANGELOG.asciidoc                              |  1 +
 .../gremlin/process/remote/RemoteGraph.java     |  8 ----
 .../structure/io/gryo/GryoSerializers.java      |  9 +---
 .../gremlin/structure/io/gryo/GryoVersion.java  | 48 +++++++++++++++++++-
 4 files changed, 50 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b38a8d66/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 573f681..1cc64c1 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -28,6 +28,7 @@ TinkerPop 3.2.6 (Release Date: NOT OFFICIALLY RELEASED YET)
 
 This release also includes changes from <<release-3-1-8, 3.1.8>>.
 
+* Registered all `TraversalStrategies` with Gryo 1.0.
 * Initialization scripts for Gremlin Server will not timeout.
 * Added Gremlin.Net.
 * `ProfileTest` is now less stringent about assertions which will reduce burdens on providers.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b38a8d66/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/RemoteGraph.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/RemoteGraph.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/RemoteGraph.java
index 2bc310a..9516ea5 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/RemoteGraph.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/remote/RemoteGraph.java
@@ -89,14 +89,6 @@ import java.util.Iterator;
         method = "*",
         reason = "RemoteGraph does not support EventStrategy at this time - some of its members are not serializable")
 @Graph.OptOut(
-        test = "org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.PartitionStrategyProcessTest",
-        method = "*",
-        reason = "RemoteGraph does not support PartitionStrategy at this time")
-@Graph.OptOut(
-        test = "org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategyProcessTest",
-        method = "*",
-        reason = "RemoteGraph does not support ReadOnlyStrategy at this time")
-@Graph.OptOut(
         test = "org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategyProcessTest",
         method = "*",
         reason = "RemoteGraph does not support SubgraphStrategy at this time")

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b38a8d66/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializers.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializers.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializers.java
index 0e7cac6..1a4c58a 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializers.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializers.java
@@ -136,13 +136,8 @@ public final class GryoSerializers {
     public final static class BytecodeSerializer implements SerializerShim<Bytecode> {
         @Override
         public <O extends OutputShim> void write(final KryoShim<?, O> kryo, final O output, final Bytecode bytecode) {
-            final List<Bytecode.Instruction> sourceInstructions = IteratorUtils.list(
-                    IteratorUtils.filter(bytecode.getSourceInstructions().iterator(),
-                            i -> !i.getOperator().equals(TraversalSource.Symbols.withStrategies) &&
-                                    !i.getOperator().equals(TraversalSource.Symbols.withComputer)));
-            writeInstructions(kryo, output, sourceInstructions);
-            final List<Bytecode.Instruction> stepInstructions = IteratorUtils.list(bytecode.getStepInstructions().iterator());
-            writeInstructions(kryo, output, stepInstructions);
+            writeInstructions(kryo, output, IteratorUtils.list(bytecode.getSourceInstructions().iterator()));
+            writeInstructions(kryo, output, IteratorUtils.list(bytecode.getStepInstructions().iterator()));
         }
 
         @Override

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b38a8d66/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java
index d581559..01df6b8 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java
@@ -20,6 +20,8 @@ package org.apache.tinkerpop.gremlin.structure.io.gryo;
 
 import org.apache.tinkerpop.gremlin.process.computer.GraphFilter;
 import org.apache.tinkerpop.gremlin.process.computer.MapReduce;
+import org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.decoration.VertexProgramStrategy;
+import org.apache.tinkerpop.gremlin.process.computer.traversal.strategy.optimization.GraphFilterStrategy;
 import org.apache.tinkerpop.gremlin.process.computer.util.MapMemory;
 import org.apache.tinkerpop.gremlin.process.remote.traversal.DefaultRemoteTraverser;
 import org.apache.tinkerpop.gremlin.process.traversal.Bytecode;
@@ -37,12 +39,31 @@ import org.apache.tinkerpop.gremlin.process.traversal.step.map.FoldStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroupCountStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroupStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.GroupStepV3d0;
+import org.apache.tinkerpop.gremlin.process.traversal.step.map.MatchStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.MeanGlobalStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.OrderGlobalStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.map.TreeStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.util.BulkSet;
 import org.apache.tinkerpop.gremlin.process.traversal.step.util.ProfileStep;
 import org.apache.tinkerpop.gremlin.process.traversal.step.util.Tree;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.ConnectiveStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.HaltedTraverserStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.PartitionStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.finalization.MatchAlgorithmStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.AdjacentToIncidentStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.FilterRankingStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.IdentityRemovalStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.IncidentToAdjacentStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.InlineFilterStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.LazyBarrierStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.MatchPredicateStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.OrderLimitStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.PathProcessorStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.PathRetractionStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.RepeatUnrollStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.LambdaRestrictionStrategy;
+import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
 import org.apache.tinkerpop.gremlin.process.traversal.traverser.B_LP_O_P_S_SE_SL_Traverser;
 import org.apache.tinkerpop.gremlin.process.traversal.traverser.B_LP_O_S_SE_SL_Traverser;
 import org.apache.tinkerpop.gremlin.process.traversal.traverser.B_O_S_SE_SL_Traverser;
@@ -181,7 +202,7 @@ public enum GryoVersion {
             add(GryoTypeReg.of(BigDecimal.class, 35));
             add(GryoTypeReg.of(Calendar.class, 39));
             add(GryoTypeReg.of(Class.class, 41, new UtilSerializers.ClassSerializer()));
-            add(GryoTypeReg.of(Class[].class, 166, new UtilSerializers.ClassArraySerializer())); // ***LAST ID***
+            add(GryoTypeReg.of(Class[].class, 166, new UtilSerializers.ClassArraySerializer()));
             add(GryoTypeReg.of(Collection.class, 37));
             add(GryoTypeReg.of(Collections.EMPTY_LIST.getClass(), 51));
             add(GryoTypeReg.of(Collections.EMPTY_MAP.getClass(), 52));
@@ -301,6 +322,31 @@ public enum GryoVersion {
             add(GryoTypeReg.of(RangeGlobalStep.RangeBiOperator.class, 114));
             add(GryoTypeReg.of(OrderGlobalStep.OrderBiOperator.class, 118, new JavaSerializer()));
             add(GryoTypeReg.of(ProfileStep.ProfileBiOperator.class, 119));
+
+            add(GryoTypeReg.of(ConnectiveStrategy.class, 138));
+            add(GryoTypeReg.of(HaltedTraverserStrategy.class, 139));
+            add(GryoTypeReg.of(PartitionStrategy.class, 140, new JavaSerializer()));
+            add(GryoTypeReg.of(SubgraphStrategy.class, 141, new JavaSerializer()));
+            add(GryoTypeReg.of(VertexProgramStrategy.class, 142, new JavaSerializer()));
+            add(GryoTypeReg.of(MatchAlgorithmStrategy.class, 143));
+            add(GryoTypeReg.of(MatchStep.GreedyMatchAlgorithm.class, 144));
+            add(GryoTypeReg.of(AdjacentToIncidentStrategy.class, 145));
+            add(GryoTypeReg.of(FilterRankingStrategy.class, 146));
+            add(GryoTypeReg.of(IdentityRemovalStrategy.class, 147));
+            add(GryoTypeReg.of(IncidentToAdjacentStrategy.class, 148));
+            add(GryoTypeReg.of(InlineFilterStrategy.class, 149));
+            add(GryoTypeReg.of(LazyBarrierStrategy.class, 150));
+            add(GryoTypeReg.of(MatchPredicateStrategy.class, 151));
+            add(GryoTypeReg.of(OrderLimitStrategy.class, 152));
+            add(GryoTypeReg.of(PathProcessorStrategy.class, 153));
+            add(GryoTypeReg.of(PathRetractionStrategy.class, 154));
+            //add(GryoTypeReg.of(CountStrategy.class, 155));
+            add(GryoTypeReg.of(RepeatUnrollStrategy.class, 156));
+            add(GryoTypeReg.of(GraphFilterStrategy.class, 157));
+            add(GryoTypeReg.of(LambdaRestrictionStrategy.class, 158));
+            add(GryoTypeReg.of(ReadOnlyStrategy.class, 159));
+            add(GryoTypeReg.of(MatchStep.CountMatchAlgorithm.class, 160));
+            add(GryoTypeReg.of(MatchStep.GreedyMatchAlgorithm.class, 167)); // ***LAST ID***
         }};
     }