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 2017/07/11 16:06:04 UTC
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.
Repository: tinkerpop
Updated Branches:
refs/heads/tp32 bd4b98957 -> 867a7c14a
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/867a7c14
Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/867a7c14
Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/867a7c14
Branch: refs/heads/tp32
Commit: 867a7c14a5dcb0440f1d24ed5616e63a461edaf6
Parents: bd4b989
Author: Marko A. Rodriguez <ok...@gmail.com>
Authored: Tue Jul 11 10:06:01 2017 -0600
Committer: Marko A. Rodriguez <ok...@gmail.com>
Committed: Tue Jul 11 10:06:01 2017 -0600
----------------------------------------------------------------------
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/867a7c14/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 96e79ab..802984c 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.
* `ReferenceFactory` and `DetachedFactory` now detach elements in collections accordingly.
* Deprecated the `useMapperFromGraph` configuration option for Gremlin Server serializers.
* `JavaTranslator` is now smart about handling `BulkSet` and `Tree`.
http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/867a7c14/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/867a7c14/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/867a7c14/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***
}};
}