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 2016/08/27 00:54:49 UTC

[34/50] [abbrv] tinkerpop git commit: Added a bit of logging and error handling.

Added a bit of logging and error handling.


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

Branch: refs/heads/master
Commit: 186f26ba08ca8ee2408003f98a1579bc999ccd36
Parents: 4191efc
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Aug 26 10:53:13 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Aug 26 10:53:13 2016 -0400

----------------------------------------------------------------------
 .../server/op/traversal/TraversalOpProcessor.java   | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/186f26ba/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 b44c51b..108d3fc 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
@@ -180,12 +180,10 @@ public class TraversalOpProcessor extends AbstractOpProcessor {
                     final Optional<UUID> sideEffect = msg.optionalArgs(Tokens.ARGS_SIDE_EFFECT);
                     final TraversalSideEffects sideEffects = cache.getIfPresent(sideEffect.get());
 
-                    if (null == sideEffects) {
-                        final String msgDefault = String.format("Could not find side-effects for %s.", sideEffect.get());
-                        throw new OpProcessorException(msgDefault, ResponseMessage.build(message).code(ResponseStatusCode.SERVER_ERROR).statusMessage(msgDefault).create());
-                    }
+                    if (null == sideEffects)
+                        logger.warn("Request for side-effect keys on %s returned no side-effects in the cache", sideEffect.get());
 
-                    handleIterator(context, sideEffects.keys().iterator());
+                    handleIterator(context, null == sideEffects ? Collections.emptyIterator() : sideEffects.keys().iterator());
                 };
 
                 break;
@@ -284,6 +282,14 @@ public class TraversalOpProcessor extends AbstractOpProcessor {
                             return;
                         }
 
+                        if (!sideEffects.exists(sideEffectKey.get())) {
+                            final String errorMessage = String.format("Could not find side-effect key for %s in %s.", sideEffectKey.get(), sideEffect.get());
+                            logger.warn(errorMessage);
+                            ctx.writeAndFlush(ResponseMessage.build(msg).code(ResponseStatusCode.SERVER_ERROR).statusMessage(errorMessage).create());
+                            onError(graph, context);
+                            return;
+                        }
+
                         handleIterator(context, new SideEffectIterator(sideEffects.get(sideEffectKey.get()), sideEffectKey.get()));
                     } catch (TimeoutException ex) {
                         final String errorMessage = String.format("Response iteration exceeded the configured threshold for request [%s] - %s", msg.getRequestId(), ex.getMessage());