[
https://issues.apache.org/jira/browse/TINKERPOP-1350?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15353653#comment-15353653
]
ASF GitHub Bot commented on TINKERPOP-1350:
-------------------------------------------
GitHub user spmallette opened a pull request:
https://github.com/apache/tinkerpop/pull/350
TINKERPOP-1350 Fixed a problem with how timeouts were scheduled in
GremlinExecutor
https://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-1350
Alternatively 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 <[email protected]>
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.
----
> Server locks when submitting parallel requests on session
> ---------------------------------------------------------
>
> Key: TINKERPOP-1350
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1350
> Project: TinkerPop
> Issue Type: Bug
> Components: server
> Affects Versions: 3.1.2-incubating
> Reporter: stephen mallette
> Assignee: stephen mallette
> Priority: Critical
> Fix For: 3.1.3, 3.2.1
>
>
> This really is only a problem when there is some form of long blocking script
> submitted and only on a session when done in parallel, like:
> {code}
> final ResultSet first = client.submit(
> "Object mon1 = 'mon1';\n" +
> "synchronized (mon1) {\n" +
> " mon1.wait();\n" +
> "} ");
> final ResultSet second = client.submit(
> "Object mon2 = 'mon2';\n" +
> "synchronized (mon2) {\n" +
> " mon2.wait();\n" +
> "}");
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)