Uploaded image for project: 'TinkerPop'
  1. TinkerPop
  2. TINKERPOP-930

Tie Alias to Transaction Manager in Gremlin Server

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Implemented
    • Affects Version/s: 3.0.2-incubating
    • Fix Version/s: 3.1.1-incubating
    • Component/s: server
    • Labels:
      None

      Description

      The current "tranaction manager" in Gremlin Server is just like Rexster's and it's not very smart. It makes no distinction about what graphs were actually affected when it issues its auto-commits/rollbacks at the end of a sessionless request. For those with a number of different Graph instances configured in Gremlin Server, that's a lot of extra empty commits if the intent is to just mutate a single graph in the set. I'm not sure what that time amounts to, but it seems sensible that if we could only commit when needed then it would be better than lots of extra commits for nothing.

      http://mail-archives.apache.org/mod_mbox/incubator-tinkerpop-dev/201510.mbox/%3CCAA-H438-1qRCbu5RO7-5YCACm3Jk%2B3gTC_w8hk8T2hzdVYoVPA%40mail.gmail.com%3E

      Provide a server-side setting that puts Gremlin Server in some form of "strict" mode (the default) where users must supply one legal set of aliases in order for the script to be executed. Use that alias to determine what graph to commit on.

      Consider using a namespaced approach as well where a single alias could be defined as graphName.traversalName which would further validate that the server is committing the right thing.

        Activity

        Hide
        githubbot ASF GitHub Bot added a comment -

        GitHub user spmallette opened a pull request:

        https://github.com/apache/incubator-tinkerpop/pull/176

        TINKERPOP-930 Added a strictTransactionManagement setting to Gremlin Server.

        https://issues.apache.org/jira/browse/TINKERPOP-930

        Basically forces the user to pass the aliases argument. Gremlin Server then uses that to determine the scope of the transactions to close. This setting is false by default so as to be backward compatible.

        Tested with:

        ```text
        mvn clean install
        mvn verify -DskipIntegrationTests=false -DincludeNeo4j -pl gremlin-server
        ```

        VOTE +1

        You can merge this pull request into a Git repository by running:

        $ git pull https://github.com/apache/incubator-tinkerpop TINKERPOP-930

        Alternatively you can review and apply these changes as the patch at:

        https://github.com/apache/incubator-tinkerpop/pull/176.patch

        To close this pull request, make a commit to your master/trunk branch
        with (at least) the following in the commit message:

        This closes #176


        commit 8b3af12715678543f444f79c314e427019762f5a
        Author: Stephen Mallette <spmva@genoprime.com>
        Date: 2015-12-09T22:17:37Z

        Added a strictTransactionManagement setting to Gremlin Server.

        Basically forces the user to pass the aliases argument. Gremlin Server then uses that to determine the scope of the transactions to close. This setting is false by default so as to be backward compatible.


        Show
        githubbot ASF GitHub Bot added a comment - GitHub user spmallette opened a pull request: https://github.com/apache/incubator-tinkerpop/pull/176 TINKERPOP-930 Added a strictTransactionManagement setting to Gremlin Server. https://issues.apache.org/jira/browse/TINKERPOP-930 Basically forces the user to pass the aliases argument. Gremlin Server then uses that to determine the scope of the transactions to close. This setting is false by default so as to be backward compatible. Tested with: ```text mvn clean install mvn verify -DskipIntegrationTests=false -DincludeNeo4j -pl gremlin-server ``` VOTE +1 You can merge this pull request into a Git repository by running: $ git pull https://github.com/apache/incubator-tinkerpop TINKERPOP-930 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-tinkerpop/pull/176.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #176 commit 8b3af12715678543f444f79c314e427019762f5a Author: Stephen Mallette <spmva@genoprime.com> Date: 2015-12-09T22:17:37Z Added a strictTransactionManagement setting to Gremlin Server. Basically forces the user to pass the aliases argument. Gremlin Server then uses that to determine the scope of the transactions to close. This setting is false by default so as to be backward compatible.
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user okram commented on the pull request:

        https://github.com/apache/incubator-tinkerpop/pull/176#issuecomment-163826091

        VOTE +1.

        Show
        githubbot ASF GitHub Bot added a comment - Github user okram commented on the pull request: https://github.com/apache/incubator-tinkerpop/pull/176#issuecomment-163826091 VOTE +1.
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user dkuppitz commented on the pull request:

        https://github.com/apache/incubator-tinkerpop/pull/176#issuecomment-164483345

        • `mvn clean install` worked
        • integration tests worked

        VOTE: +1

        Show
        githubbot ASF GitHub Bot added a comment - Github user dkuppitz commented on the pull request: https://github.com/apache/incubator-tinkerpop/pull/176#issuecomment-164483345 `mvn clean install` worked integration tests worked VOTE: +1
        Hide
        githubbot ASF GitHub Bot added a comment -

        Github user asfgit closed the pull request at:

        https://github.com/apache/incubator-tinkerpop/pull/176

        Show
        githubbot ASF GitHub Bot added a comment - Github user asfgit closed the pull request at: https://github.com/apache/incubator-tinkerpop/pull/176

          People

          • Assignee:
            spmallette stephen mallette
            Reporter:
            spmallette stephen mallette
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development