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/11/30 12:32:03 UTC

[1/4] tinkerpop git commit: TINKERPOP-1811 Fixed bytecode deserialization error messaging

Repository: tinkerpop
Updated Branches:
  refs/heads/master 0b61f23bf -> e62133194


TINKERPOP-1811 Fixed bytecode deserialization error messaging

As the original issue description suggests the error message wasn't very helpful. Seems there was a mistype in the log message that prevented a better output and also some error handling that wasn't quite being dealt with properly.


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

Branch: refs/heads/master
Commit: 95a6ea3f56db83449b62475045d08fc9452467e0
Parents: ed9ca81
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Mon Nov 20 15:26:53 2017 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Mon Nov 20 15:26:53 2017 -0500

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                          | 1 +
 .../org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java | 9 +++++++++
 .../gremlin/server/op/traversal/TraversalOpProcessor.java   | 2 +-
 3 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/95a6ea3f/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --git a/CHANGELOG.asciidoc b/CHANGELOG.asciidoc
index 918bbd4..b69b044 100644
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@ -25,6 +25,7 @@ image::https://raw.githubusercontent.com/apache/tinkerpop/master/docs/static/ima
 
 * Provided a method to configure detachment options with `EventStrategy`.
 * Fixed a race condition in `TinkerIndex`.
+* Improved error messaging for bytecode deserialization errors in Gremlin Server.
 * Fixed an `ArrayOutOfBoundsException` in `hasId()` for the rare situation when the provided collection is empty.
 * Bump to Netty 4.0.52
 * `TraversalVertexProgram` `profile()` now accounts for worker iteration in `GraphComputer` OLAP.

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/95a6ea3f/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
index b21c481..79b24aa 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
@@ -173,6 +173,12 @@ public final class JavaTranslator<S extends TraversalSource, T extends Traversal
         for (int i = 0; i < arguments.length; i++) {
             argumentsCopy[i] = translateObject(arguments[i]);
         }
+
+        // without this initial check iterating an invalid methodName will lead to a null pointer and a less than
+        // great error message for the user. 
+        if (!methodCache.containsKey(methodName))
+            throw new IllegalStateException("Could not locate method: " + delegate.getClass().getSimpleName() + "." + methodName + "(" + Arrays.toString(argumentsCopy) + ")");
+
         try {
             for (final Method method : methodCache.get(methodName)) {
                 if (returnType.isAssignableFrom(method.getReturnType())) {
@@ -218,6 +224,9 @@ public final class JavaTranslator<S extends TraversalSource, T extends Traversal
         } catch (final Throwable e) {
             throw new IllegalStateException(e.getMessage() + ":" + methodName + "(" + Arrays.toString(argumentsCopy) + ")", e);
         }
+
+        // if it got down here then the method was in the cache but it was never called as it could not be found
+        // for the supplied arguments
         throw new IllegalStateException("Could not locate method: " + delegate.getClass().getSimpleName() + "." + methodName + "(" + Arrays.toString(argumentsCopy) + ")");
     }
 

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/95a6ea3f/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java
index b9705a6..0168cba 100644
--- a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java
+++ b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java
@@ -368,7 +368,7 @@ public class TraversalOpProcessor extends AbstractOpProcessor {
             else
                 traversal = context.getGremlinExecutor().eval(bytecode, EMPTY_BINDINGS, lambdaLanguage.get(), traversalSourceName);
         } catch (Exception ex) {
-            logger.error("Could not deserialize the Traversal instance", context);
+            logger.error("Could not deserialize the Traversal instance", ex);
             throw new OpProcessorException("Could not deserialize the Traversal instance",
                     ResponseMessage.build(msg).code(ResponseStatusCode.SERVER_ERROR_SERIALIZATION)
                             .statusMessage(ex.getMessage())


[2/4] tinkerpop git commit: TINKERPOP-1811 Improve error messaging on failed bytecode translation

Posted by sp...@apache.org.
TINKERPOP-1811 Improve error messaging on failed bytecode translation


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

Branch: refs/heads/master
Commit: bc919cbe405f66cac0459e755d9a164069fe8d3e
Parents: 95a6ea3
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Nov 30 06:40:47 2017 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Nov 30 06:40:47 2017 -0500

----------------------------------------------------------------------
 .../org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java    | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/bc919cbe/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
----------------------------------------------------------------------
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
index 79b24aa..c39ee23 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
@@ -176,8 +176,10 @@ public final class JavaTranslator<S extends TraversalSource, T extends Traversal
 
         // without this initial check iterating an invalid methodName will lead to a null pointer and a less than
         // great error message for the user. 
-        if (!methodCache.containsKey(methodName))
-            throw new IllegalStateException("Could not locate method: " + delegate.getClass().getSimpleName() + "." + methodName + "(" + Arrays.toString(argumentsCopy) + ")");
+        if (!methodCache.containsKey(methodName)) {
+            final String methodArgs = argumentsCopy.length > 0 ? Arrays.toString(argumentsCopy) : "";
+            throw new IllegalStateException("Could not locate method: " + delegate.getClass().getSimpleName() + "." + methodName + "(" + methodArgs + ")");
+        }
 
         try {
             for (final Method method : methodCache.get(methodName)) {


[3/4] tinkerpop git commit: Merge branch 'TINKERPOP-1811' into tp32

Posted by sp...@apache.org.
Merge branch 'TINKERPOP-1811' into tp32


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

Branch: refs/heads/master
Commit: 7cde98cf44bb292051c58eb3bf9ac1aca5976793
Parents: fe7b175 bc919cb
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Nov 30 07:09:58 2017 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Nov 30 07:09:58 2017 -0500

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                       |  1 +
 .../apache/tinkerpop/gremlin/jsr223/JavaTranslator.java  | 11 +++++++++++
 .../server/op/traversal/TraversalOpProcessor.java        |  2 +-
 3 files changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/7cde98cf/CHANGELOG.asciidoc
----------------------------------------------------------------------
diff --cc CHANGELOG.asciidoc
index e2a75d2,b69b044..8e29593
--- a/CHANGELOG.asciidoc
+++ b/CHANGELOG.asciidoc
@@@ -23,16 -23,13 +23,17 @@@ image::https://raw.githubusercontent.co
  [[release-3-2-7]]
  === TinkerPop 3.2.7 (Release Date: NOT OFFICIALLY RELEASED YET)
  
 +* Added core GraphSON classes for Gremlin-Python: `UUID`, `Date`, and `Timestamp`.
  * Provided a method to configure detachment options with `EventStrategy`.
  * Fixed a race condition in `TinkerIndex`.
+ * Improved error messaging for bytecode deserialization errors in Gremlin Server.
  * Fixed an `ArrayOutOfBoundsException` in `hasId()` for the rare situation when the provided collection is empty.
 -* Bump to Netty 4.0.52
 +* Bump to Netty 4.0.53
  * `TraversalVertexProgram` `profile()` now accounts for worker iteration in `GraphComputer` OLAP.
  * Returned the `Builder` instance from the `DetachedEdge.Builder` methods of `setOutE` and `setOutV`.
 +* Added test framework for GLVs.
 +* Fixed bug in `TraversalHelper.replaceStep()` where the step being replaced needed to be removed prior to the new one being added.
 +* Added alias support in the .NET `DriverRemoteConnection`.
  * Added a test for self-edges and fixed `Neo4jVertex` to provided repeated self-edges on `BOTH`.
  * Better respected permissions on the `plugins.txt` file and prevented writing if marked as read-only.
  * Added getters for the lambdas held by `LambdaCollectingBarrierStep`, `LambdaFlatMapStep` and `LambdaSideEffectStep`.


[4/4] tinkerpop git commit: Merge branch 'tp32'

Posted by sp...@apache.org.
Merge branch 'tp32'


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

Branch: refs/heads/master
Commit: e62133194952ef9c028968f8fcaf284fd3b148cb
Parents: 0b61f23 7cde98c
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Nov 30 07:10:09 2017 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Nov 30 07:10:09 2017 -0500

----------------------------------------------------------------------
 CHANGELOG.asciidoc                                       |  1 +
 .../apache/tinkerpop/gremlin/jsr223/JavaTranslator.java  | 11 +++++++++++
 .../server/op/traversal/TraversalOpProcessor.java        |  2 +-
 3 files changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e6213319/CHANGELOG.asciidoc
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e6213319/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/JavaTranslator.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/e6213319/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java
----------------------------------------------------------------------