You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by dk...@apache.org on 2016/04/11 20:10:29 UTC

[02/16] incubator-tinkerpop git commit: Minor tweak to error messaging around iteration interruption.

Minor tweak to error messaging around iteration interruption.


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

Branch: refs/heads/TINKERPOP-1020
Commit: 45c4303125ffdec915b66258d560e7b9d86bcec5
Parents: 5bd8f3f
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Tue Apr 5 13:40:48 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Tue Apr 5 13:40:48 2016 -0400

----------------------------------------------------------------------
 .../gremlin/server/op/AbstractEvalOpProcessor.java        | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/45c43031/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessor.java
----------------------------------------------------------------------
diff --git a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessor.java b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessor.java
index c565ed9..08c92c2 100644
--- a/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessor.java
+++ b/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractEvalOpProcessor.java
@@ -222,9 +222,17 @@ public abstract class AbstractEvalOpProcessor implements OpProcessor {
                         logger.warn(errorMessage);
                         ctx.writeAndFlush(ResponseMessage.build(msg).code(ResponseStatusCode.SERVER_ERROR_TIMEOUT).statusMessage(errorMessage).create());
                         if (managedTransactionsForRequest) attemptRollback(msg, context.getGraphManager(), settings.strictTransactionManagement);
+                    } catch (InterruptedException ex) {
+                        logger.warn(String.format("Interruption during result iteration on request [%s].", msg), ex);
+                        final String exceptionMsg = ex.getMessage();
+                        final String err = "Interruption of result iteration" + (null == exceptionMsg || exceptionMsg.isEmpty() ? "" : " - " + exceptionMsg);
+                        ctx.writeAndFlush(ResponseMessage.build(msg).code(ResponseStatusCode.SERVER_ERROR).statusMessage(err).create());
+                        if (managedTransactionsForRequest) attemptRollback(msg, context.getGraphManager(), settings.strictTransactionManagement);
                     } catch (Exception ex) {
                         logger.warn(String.format("Exception processing a script on request [%s].", msg), ex);
-                        ctx.writeAndFlush(ResponseMessage.build(msg).code(ResponseStatusCode.SERVER_ERROR).statusMessage(ex.getMessage()).create());
+                        final String err = ex.getMessage();
+                        ctx.writeAndFlush(ResponseMessage.build(msg).code(ResponseStatusCode.SERVER_ERROR)
+                                .statusMessage(null == err || err.isEmpty() ? ex.getClass().getSimpleName() : err).create());
                         if (managedTransactionsForRequest) attemptRollback(msg, context.getGraphManager(), settings.strictTransactionManagement);
                     }
                 }).create();