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/10 16:40:27 UTC

tinkerpop git commit: Don't commit on retrieving side-effects.

Repository: tinkerpop
Updated Branches:
  refs/heads/TINKERPOP-1278 b11bf2077 -> c815ece40


Don't commit on retrieving side-effects.

Retrieving side-effects might open a transaction but should not result in a write that needs to be committed. Changed to rollback instead.


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

Branch: refs/heads/TINKERPOP-1278
Commit: c815ece407147061c2e724bd4881585d37adcec8
Parents: b11bf20
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Wed Aug 10 12:39:21 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Wed Aug 10 12:39:21 2016 -0400

----------------------------------------------------------------------
 .../gremlin/server/op/traversal/TraversalOpProcessor.java      | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/c815ece4/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 3c8b595..6eed85d 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
@@ -291,7 +291,9 @@ public class TraversalOpProcessor extends AbstractOpProcessor {
                         return;
                     }
 
-                    if (graph.features().graph().supportsTransactions()) graph.tx().commit();
+                    // there was no "writing" here, just side-effect retrieval, so if a transaction was opened then
+                    // just close with rollback
+                    if (supportsTransactions && graph.tx().isOpen()) graph.tx().rollback();
                 } catch (Exception ex) {
                     logger.warn(String.format("Exception processing a Traversal on request [%s].", msg.getRequestId()), ex);
                     ctx.writeAndFlush(ResponseMessage.build(msg).code(ResponseStatusCode.SERVER_ERROR).statusMessage(ex.getMessage()).create());
@@ -368,7 +370,7 @@ public class TraversalOpProcessor extends AbstractOpProcessor {
                         return;
                     }
 
-                    if (graph.features().graph().supportsTransactions()) graph.tx().commit();
+                    if (supportsTransactions && graph.tx().isOpen()) graph.tx().commit();
                 } catch (Exception ex) {
                     logger.warn(String.format("Exception processing a Traversal on request [%s].", msg.getRequestId()), ex);
                     ctx.writeAndFlush(ResponseMessage.build(msg).code(ResponseStatusCode.SERVER_ERROR).statusMessage(ex.getMessage()).create());