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/06/09 15:31:14 UTC

[1/2] incubator-tinkerpop git commit: Made the console support managed transactions for :remote

Repository: incubator-tinkerpop
Updated Branches:
  refs/heads/master 4b331f246 -> ff52eb63b


Made the console support managed transactions for :remote

This was a small oversight from the original implementation of managed session transactions. CTR


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

Branch: refs/heads/master
Commit: 23956b2231c79de4b041a030fec11b3f76cd0322
Parents: f30a84a
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Jun 9 11:30:32 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Jun 9 11:30:32 2016 -0400

----------------------------------------------------------------------
 docs/src/reference/gremlin-applications.asciidoc             | 5 ++++-
 .../gremlin/console/groovy/plugin/DriverRemoteAcceptor.java  | 8 ++++++--
 .../groovy/plugin/DriverRemoteAcceptorIntegrateTest.java     | 8 ++++++++
 3 files changed, 18 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/23956b22/docs/src/reference/gremlin-applications.asciidoc
----------------------------------------------------------------------
diff --git a/docs/src/reference/gremlin-applications.asciidoc b/docs/src/reference/gremlin-applications.asciidoc
index 72a5515..0cb875e 100644
--- a/docs/src/reference/gremlin-applications.asciidoc
+++ b/docs/src/reference/gremlin-applications.asciidoc
@@ -513,7 +513,10 @@ To enable the remote to connect with a session the `connect` argument takes anot
 ----
 
 With the above command a session gets created with a random UUID for a session identifier. It is also possible to
-assign a custom session identifier by adding it as the last argument to `:remote` command above.
+assign a custom session identifier by adding it as the last argument to `:remote` command above. There is also the
+option to replace "session" with "session-managed" to create a session that will auto-manage transactions (i.e. each
+request will occur within the bounds of a transaction). In this way, the state of bound variables between requests are
+maintained, but the need to manually managed the transactional scope of the graph is no longer required.
 
 [[console-remote-console]]
 Remote Console

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/23956b22/gremlin-console/src/main/java/org/apache/tinkerpop/gremlin/console/groovy/plugin/DriverRemoteAcceptor.java
----------------------------------------------------------------------
diff --git a/gremlin-console/src/main/java/org/apache/tinkerpop/gremlin/console/groovy/plugin/DriverRemoteAcceptor.java b/gremlin-console/src/main/java/org/apache/tinkerpop/gremlin/console/groovy/plugin/DriverRemoteAcceptor.java
index e60b325..c346540 100644
--- a/gremlin-console/src/main/java/org/apache/tinkerpop/gremlin/console/groovy/plugin/DriverRemoteAcceptor.java
+++ b/gremlin-console/src/main/java/org/apache/tinkerpop/gremlin/console/groovy/plugin/DriverRemoteAcceptor.java
@@ -72,6 +72,7 @@ public class DriverRemoteAcceptor implements RemoteAcceptor {
     private static final String TOKEN_TIMEOUT = "timeout";
     private static final String TOKEN_ALIAS = "alias";
     private static final String TOKEN_SESSION = "session";
+    private static final String TOKEN_SESSION_MANAGED = "session-managed";
     private static final List<String> POSSIBLE_TOKENS = Arrays.asList(TOKEN_TIMEOUT, TOKEN_ALIAS);
 
     private final Groovysh shell;
@@ -86,11 +87,14 @@ public class DriverRemoteAcceptor implements RemoteAcceptor {
 
         try {
             this.currentCluster = Cluster.open(args.get(0));
-            final boolean useSession = args.size() >= 2 && args.get(1).equals(TOKEN_SESSION);
+            final boolean useSession = args.size() >= 2 && (args.get(1).equals(TOKEN_SESSION) || args.get(1).equals(TOKEN_SESSION_MANAGED));
             if (useSession) {
                 final String sessionName = args.size() == 3 ? args.get(2) : UUID.randomUUID().toString();
                 session = Optional.of(sessionName);
-                this.currentClient = this.currentCluster.connect(sessionName);
+
+                final boolean managed = args.get(1).equals(TOKEN_SESSION_MANAGED);
+
+                this.currentClient = this.currentCluster.connect(sessionName, managed);
             } else {
                 this.currentClient = this.currentCluster.connect();
             }

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/23956b22/gremlin-console/src/test/java/org/apache/tinkerpop/gremlin/console/groovy/plugin/DriverRemoteAcceptorIntegrateTest.java
----------------------------------------------------------------------
diff --git a/gremlin-console/src/test/java/org/apache/tinkerpop/gremlin/console/groovy/plugin/DriverRemoteAcceptorIntegrateTest.java b/gremlin-console/src/test/java/org/apache/tinkerpop/gremlin/console/groovy/plugin/DriverRemoteAcceptorIntegrateTest.java
index f4d4b5d..1363c26 100644
--- a/gremlin-console/src/test/java/org/apache/tinkerpop/gremlin/console/groovy/plugin/DriverRemoteAcceptorIntegrateTest.java
+++ b/gremlin-console/src/test/java/org/apache/tinkerpop/gremlin/console/groovy/plugin/DriverRemoteAcceptorIntegrateTest.java
@@ -93,6 +93,14 @@ public class DriverRemoteAcceptorIntegrateTest extends AbstractGremlinServerInte
     }
 
     @Test
+    public void shouldConnectAndSubmitManagedSession() throws Exception {
+        assertThat(acceptor.connect(Arrays.asList(TestHelper.generateTempFileFromResource(this.getClass(), "remote.yaml", ".tmp").getAbsolutePath(), "session-managed")).toString(), startsWith("Configured "));
+        assertEquals("1", ((Iterator) acceptor.submit(Collections.singletonList("x = 1"))).next());
+        assertEquals("0", ((Iterator) acceptor.submit(Collections.singletonList("x - 1"))).next());
+        assertEquals("0", ((List<Result>) groovysh.getInterp().getContext().getProperty(DriverRemoteAcceptor.RESULT)).iterator().next().getString());
+    }
+
+    @Test
     public void shouldConnectAndSubmitSimple() throws Exception {
         assertThat(acceptor.connect(Collections.singletonList(TestHelper.generateTempFileFromResource(this.getClass(), "remote.yaml", ".tmp").getAbsolutePath())).toString(), startsWith("Configured "));
         assertEquals("2", ((Iterator) acceptor.submit(Collections.singletonList("1+1"))).next());


[2/2] incubator-tinkerpop git commit: Merge remote-tracking branch 'origin/tp31'

Posted by sp...@apache.org.
Merge remote-tracking branch 'origin/tp31'


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

Branch: refs/heads/master
Commit: ff52eb63b1f056b8a9792c03d5006908bdd919f9
Parents: 4b331f2 23956b2
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Thu Jun 9 11:31:03 2016 -0400
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Thu Jun 9 11:31:03 2016 -0400

----------------------------------------------------------------------
 docs/src/reference/gremlin-applications.asciidoc             | 5 ++++-
 .../gremlin/console/groovy/plugin/DriverRemoteAcceptor.java  | 8 ++++++--
 .../groovy/plugin/DriverRemoteAcceptorIntegrateTest.java     | 8 ++++++++
 3 files changed, 18 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/ff52eb63/docs/src/reference/gremlin-applications.asciidoc
----------------------------------------------------------------------