GitHub user spmallette opened a pull request:
https://github.com/apache/tinkerpop/pull/367
TINKERPOP-1350 was never quite fixed in 3.1.3.
Unfortunately, more testing revealed that the fix for the problem was only masked by the changes in 3.1.3.
Changed response encoding to not use the session executor when the session has an error condition it is trying to serialize. This should be fine as there is no need to serialized an error condition as part of a transaction and thus no need to have the session thread to do it. That in turn frees up the worker executor to serialize and cancel long run jobs in the session. Removed recommendations for submitting parallel requests on a session from docs.
Works in full with `mvn clean install && mvn verify -pl gremlin-server -DskipIntegrationTests=false`
VOTE +1
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apache/tinkerpop TINKERPOP-1350
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/tinkerpop/pull/367.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 #367
commit 57ef449ded52e5c11072e7a626eebcfcc13889c4
Author: Stephen Mallette <spmva@genoprime.com>
Date: 2016-08-02T19:59:19Z
TINKERPOP-1350 was never quite fixed in 3.1.3.
Changed response encoding to not use the session executor when the session has an error condition it is trying to serialize. This should be fine as there is no need to serialized an error condition as part of a transaction and thus no need to have the session thread to do it. That in turn frees up the worker executor to serialize and cancel long run jobs in the session. Removed recommendations for submitting parallel requests on a session from docs.
GitHub user spmallette opened a pull request:
https://github.com/apache/tinkerpop/pull/350
TINKERPOP-1350Fixed a problem with how timeouts were scheduled in GremlinExecutorhttps://issues.apache.org/jira/browse/TINKERPOP-1350
Made timeouts schedule closer to when execution of a script actually occurred. All together, this change helps prevent sessions from locking when submitting multiple parallel requests that have the potential to block.
All good with `$ mvn clean install && mvn verify -pl gremlin-server -DskipIntegrationTests=false
`
VOTE +1
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apache/tinkerpop
TINKERPOP-1350Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/tinkerpop/pull/350.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 #350
commit cd0e58bb769faf06ddfee9473649c7b53ba1b50c
Author: Stephen Mallette <spmva@genoprime.com>
Date: 2016-06-28T20:19:54Z
Fixed a problem with how timeouts were scheduled in GremlinExecutor
Made timeouts schedule closer to when execution of a script actually occurred. All together, this change helps prevent sessions from locking when submitting multiple parallel requests that have the potential to block.