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 2019/09/27 13:07:47 UTC
[tinkerpop] branch master updated (e69328f -> 5213563)
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git.
from e69328f Merge branch 'tp34'
new 9950746 TINKERPOP-2297 ReeservedKeysVerificationStrategy registered for derser
new 39167fc Merge branch 'tp33' into tp34
new 5213563 Merge branch 'tp34'
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java | 5 +++++
.../apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java | 7 +++++--
.../src/main/jython/tests/driver/test_driver_remote_connection.py | 4 ----
3 files changed, 10 insertions(+), 6 deletions(-)
[tinkerpop] 03/03: Merge branch 'tp34'
Posted by sp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 5213563f01d4e92064540c390fe365bda46d8cd0
Merge: e69328f 39167fc
Author: Stephen Mallette <sp...@genoprime.com>
AuthorDate: Fri Sep 27 08:52:13 2019 -0400
Merge branch 'tp34'
.../tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java | 5 +++++
.../apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java | 7 +++++--
.../src/main/jython/tests/driver/test_driver_remote_connection.py | 4 ----
3 files changed, 10 insertions(+), 6 deletions(-)
diff --cc gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection.py
index 3cb9fa0,ad73fb9..550e0e6
--- a/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection.py
+++ b/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection.py
@@@ -189,11 -189,117 +189,7 @@@ class TestDriverRemoteConnection(object
assert False
except GremlinServerError as gse:
assert gse.status_code == 500
- except KeyError as ke:
- # gross we need to fix this: https://issues.apache.org/jira/browse/TINKERPOP-2297
- # would prefer to assert a GremlinServerError status code
- assert True
- def test_side_effects(self, remote_connection):
- statics.load_statics(globals())
- #
- g = traversal().withRemote(remote_connection)
- ###
- t = g.V().hasLabel("project").name.iterate()
- assert 0 == len(t.side_effects.keys())
- with pytest.raises(Exception):
- m = t.side_effects["m"]
- ###
- t = g.V().out("created").groupCount("m").by("name")
- results = t.toSet()
- assert 2 == len(results)
- assert Vertex(3) in results
- assert Vertex(5) in results
- assert 1 == len(t.side_effects.keys())
- assert "m" in t.side_effects.keys()
- m = t.side_effects["m"]
- assert isinstance(m, dict)
- assert 2 == len(m)
- assert 3 == m["lop"]
- assert 1 == m["ripple"]
-
- # check status attributes
- assert "host" in t.side_effects.status_attributes
-
- ##
- t = g.V().out("created").groupCount("m").by("name").name.aggregate("n")
- results = t.toSet()
- assert 2 == len(results)
- assert "lop" in results
- assert "ripple" in results
- assert 2 == len(t.side_effects.keys())
- assert "m" in t.side_effects.keys()
- assert "n" in t.side_effects.keys()
- n = t.side_effects.get("n")
- assert isinstance(n, dict)
- assert 2 == len(n)
- assert "lop" in n.keys()
- assert "ripple" in n.keys()
- assert 3 == n["lop"]
- assert 1 == n["ripple"]
-
- t = g.withSideEffect('m', 32).V().map(lambda: "x: x.sideEffects('m')")
- results = t.toSet()
- assert 1 == len(results)
- assert 32 == list(results)[0]
- assert 32 == t.side_effects['m']
- assert 1 == len(t.side_effects.keys())
- with pytest.raises(Exception):
- x = t.side_effects["x"]
-
- a = g.V().has("name", "marko").next()
- b = g.V().has("name", "peter").next()
- edge = g.withSideEffect("b", b).V(a).addE("knows").to("b").next()
- assert "knows" == edge.label
- assert a == edge.outV
- assert b == edge.inV
- g.V().has("name", "marko").outE("knows").where(__.inV().has("name", "peter")).drop().iterate()
- ##
- edge = g.withSideEffect("a", a).withSideEffect("b", b).V().limit(1).addE("knows").from_("a").to("b").next()
- assert "knows" == edge.label
- assert a == edge.outV
- assert b == edge.inV
- g.V().has("name", "marko").outE("knows").where(__.inV().has("name", "peter")).drop().iterate()
-
- def test_side_effect_close(self, remote_connection):
- g = traversal().withRemote(remote_connection)
- t = g.V().aggregate('a').aggregate('b')
- t.toList()
-
- # The 'a' key should return some side effects
- results = t.side_effects.get('a')
- assert results
-
- # Close result is None
- results = t.side_effects.close()
- assert not results
-
- # Shouldn't get any new info from server
- # 'b' isn't in local cache
- results = t.side_effects.get('b')
- assert not results
-
- # But 'a' should still be cached locally
- results = t.side_effects.get('a')
- assert results
-
- # 'a' should have been added to local keys cache, but not 'b'
- results = t.side_effects.keys()
- assert len(results) == 1
- a, = results
- assert a == 'a'
-
- # Try to get 'b' directly from server, should throw error
- with pytest.raises(Exception):
- t.side_effects.value_lambda('b')
-
- def test_promise(self, remote_connection):
- g = traversal().withRemote(remote_connection)
- future = g.V().aggregate('a').promise()
- t = future.result()
- assert len(t.toList()) == 6
- a, = t.side_effects.keys()
- assert a == 'a'
- results = t.side_effects.get('a')
- assert results
- results = t.side_effects.close()
- assert not results
-
def test_in_tornado_app():
# Make sure nothing weird with loops
[tinkerpop] 01/03: TINKERPOP-2297 ReeservedKeysVerificationStrategy
registered for derser
Posted by sp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 9950746b6f1c2f9b9726d695e684e49edbae9694
Author: Stephen Mallette <sp...@genoprime.com>
AuthorDate: Fri Sep 27 08:49:07 2019 -0400
TINKERPOP-2297 ReeservedKeysVerificationStrategy registered for derser
This should have been done on the original ticket that added this feature. For some reason it was overlooked. Given the bad serialization error on the server, the driver was thus throwing an odd error in python. CTR
---
.../tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java | 5 +++++
.../apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java | 7 +++++--
.../src/main/jython/tests/driver/test_driver_remote_connection.py | 6 ++----
3 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
index 75b2c5e..15c4793 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java
@@ -57,6 +57,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.Comp
import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.EdgeLabelVerificationStrategy;
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.strategy.verification.ReservedKeysVerificationStrategy;
import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.StandardVerificationStrategy;
import org.apache.tinkerpop.gremlin.process.traversal.util.AndP;
import org.apache.tinkerpop.gremlin.process.traversal.util.Metrics;
@@ -185,6 +186,7 @@ abstract class GraphSONModule extends TinkerPopJacksonModule {
StandardVerificationStrategy.class,
EarlyLimitStrategy.class,
EdgeLabelVerificationStrategy.class,
+ ReservedKeysVerificationStrategy.class,
//
GraphFilterStrategy.class,
VertexProgramStrategy.class
@@ -304,6 +306,7 @@ abstract class GraphSONModule extends TinkerPopJacksonModule {
StandardVerificationStrategy.class,
EarlyLimitStrategy.class,
EdgeLabelVerificationStrategy.class,
+ ReservedKeysVerificationStrategy.class,
//
GraphFilterStrategy.class,
VertexProgramStrategy.class
@@ -405,6 +408,7 @@ abstract class GraphSONModule extends TinkerPopJacksonModule {
StandardVerificationStrategy.class,
EarlyLimitStrategy.class,
EdgeLabelVerificationStrategy.class,
+ ReservedKeysVerificationStrategy.class,
//
GraphFilterStrategy.class,
VertexProgramStrategy.class
@@ -516,6 +520,7 @@ abstract class GraphSONModule extends TinkerPopJacksonModule {
StandardVerificationStrategy.class,
EarlyLimitStrategy.class,
EdgeLabelVerificationStrategy.class,
+ ReservedKeysVerificationStrategy.class,
//
GraphFilterStrategy.class,
VertexProgramStrategy.class
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 974542d..dbe02bf 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
@@ -66,6 +66,7 @@ import org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.Repe
import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.EdgeLabelVerificationStrategy;
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.strategy.verification.ReservedKeysVerificationStrategy;
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;
@@ -340,7 +341,8 @@ public enum GryoVersion {
add(GryoTypeReg.of(EarlyLimitStrategy.class, 188));
add(GryoTypeReg.of(MatchStep.CountMatchAlgorithm.class, 160));
add(GryoTypeReg.of(MatchStep.GreedyMatchAlgorithm.class, 164));
- add(GryoTypeReg.of(EdgeLabelVerificationStrategy.class, 189)); // ***LAST ID***
+ add(GryoTypeReg.of(EdgeLabelVerificationStrategy.class, 189));
+ add(GryoTypeReg.of(ReservedKeysVerificationStrategy.class, 190)); // ***LAST ID***
add(GryoTypeReg.of(TraverserSet.class, 58));
add(GryoTypeReg.of(Tree.class, 61));
@@ -560,7 +562,8 @@ public enum GryoVersion {
add(GryoTypeReg.of(EarlyLimitStrategy.class, 188));
add(GryoTypeReg.of(MatchStep.CountMatchAlgorithm.class, 160));
add(GryoTypeReg.of(MatchStep.GreedyMatchAlgorithm.class, 167));
- add(GryoTypeReg.of(EdgeLabelVerificationStrategy.class, 189)); // ***LAST ID***
+ add(GryoTypeReg.of(EdgeLabelVerificationStrategy.class, 189));
+ add(GryoTypeReg.of(ReservedKeysVerificationStrategy.class, 190)); // ***LAST ID***
// skip 171, 172 to sync with tp33
add(GryoTypeReg.of(IndexedTraverserSet.VertexIndexedTraverserSet.class, 173));
}};
diff --git a/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection.py b/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection.py
index 7e9add6..1272274 100644
--- a/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection.py
+++ b/gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection.py
@@ -185,10 +185,8 @@ class TestDriverRemoteConnection(object):
try:
g.addV("person").property("id", "please-don't-use-id").iterate()
assert False
- except KeyError as gse:
- # gross we need to fix this: https://issues.apache.org/jira/browse/TINKERPOP-2297
- # would prefer to assert a GremlinServerError status code
- assert True
+ except GremlinServerError as gse:
+ assert gse.status_code == 500
def test_side_effects(self, remote_connection):
statics.load_statics(globals())
[tinkerpop] 02/03: Merge branch 'tp33' into tp34
Posted by sp...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 39167fccab8616ef04b9114db8464e7ac385f6b4
Merge: 1ce6fe7 9950746
Author: Stephen Mallette <sp...@genoprime.com>
AuthorDate: Fri Sep 27 08:51:51 2019 -0400
Merge branch 'tp33' into tp34
Conflicts:
gremlin-python/src/main/jython/tests/driver/test_driver_remote_connection.py
.../tinkerpop/gremlin/structure/io/graphson/GraphSONModule.java | 5 +++++
.../apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java | 7 +++++--
.../src/main/jython/tests/driver/test_driver_remote_connection.py | 4 ----
3 files changed, 10 insertions(+), 6 deletions(-)
diff --cc gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoVersion.java
index 6e55343,dbe02bf..f4b984d
--- 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
@@@ -68,19 -66,14 +68,20 @@@ import org.apache.tinkerpop.gremlin.pro
import org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.EdgeLabelVerificationStrategy;
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.strategy.verification.ReservedKeysVerificationStrategy;
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_NL_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_LP_NL_O_S_SE_SL_Traverser;
import org.apache.tinkerpop.gremlin.process.traversal.traverser.B_O_S_SE_SL_Traverser;
+import org.apache.tinkerpop.gremlin.process.traversal.traverser.B_NL_O_S_SE_SL_Traverser;
import org.apache.tinkerpop.gremlin.process.traversal.traverser.B_O_Traverser;
import org.apache.tinkerpop.gremlin.process.traversal.traverser.LP_O_OB_P_S_SE_SL_Traverser;
+import org.apache.tinkerpop.gremlin.process.traversal.traverser.LP_NL_O_OB_S_SE_SL_Traverser;
import org.apache.tinkerpop.gremlin.process.traversal.traverser.LP_O_OB_S_SE_SL_Traverser;
+import org.apache.tinkerpop.gremlin.process.traversal.traverser.LP_NL_O_OB_P_S_SE_SL_Traverser;
import org.apache.tinkerpop.gremlin.process.traversal.traverser.O_OB_S_SE_SL_Traverser;
+import org.apache.tinkerpop.gremlin.process.traversal.traverser.NL_O_OB_S_SE_SL_Traverser;
import org.apache.tinkerpop.gremlin.process.traversal.traverser.O_Traverser;
import org.apache.tinkerpop.gremlin.process.traversal.traverser.ProjectedTraverser;
import org.apache.tinkerpop.gremlin.process.traversal.traverser.util.IndexedTraverserSet;
@@@ -590,19 -562,10 +592,20 @@@ public enum GryoVersion
add(GryoTypeReg.of(EarlyLimitStrategy.class, 188));
add(GryoTypeReg.of(MatchStep.CountMatchAlgorithm.class, 160));
add(GryoTypeReg.of(MatchStep.GreedyMatchAlgorithm.class, 167));
- add(GryoTypeReg.of(EdgeLabelVerificationStrategy.class, 189)); // ***LAST ID***
+ add(GryoTypeReg.of(EdgeLabelVerificationStrategy.class, 189));
+ add(GryoTypeReg.of(ReservedKeysVerificationStrategy.class, 190)); // ***LAST ID***
// skip 171, 172 to sync with tp33
add(GryoTypeReg.of(IndexedTraverserSet.VertexIndexedTraverserSet.class, 173));
+
+ add(GryoTypeReg.of(B_LP_NL_O_P_S_SE_SL_Traverser.class, 174));
+ add(GryoTypeReg.of(B_NL_O_S_SE_SL_Traverser.class, 175));
+ add(GryoTypeReg.of(B_LP_NL_O_S_SE_SL_Traverser.class, 176));
+ add(GryoTypeReg.of(NL_O_OB_S_SE_SL_Traverser.class, 177));
+ add(GryoTypeReg.of(LP_NL_O_OB_S_SE_SL_Traverser.class, 178));
+ add(GryoTypeReg.of(LP_NL_O_OB_P_S_SE_SL_Traverser.class, 179));
+ add(GryoTypeReg.of(LabelledCounter.class, 180));
+ add(GryoTypeReg.of(Stack.class, 181));
+ add(GryoTypeReg.of(ReferenceMap.class, 182));
}};
}