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));
          }};
      }