[GitHub] tinkerpop pull request #441: TINKERPOP-1467 Corrected a number of problems i...
Github user asfgit closed the pull request at: https://github.com/apache/tinkerpop/pull/441 --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] tinkerpop pull request #441: TINKERPOP-1467 Corrected a number of problems i...
Github user dkuppitz commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/441#discussion_r81113714 --- Diff: gremlin-server/src/test/java/org/apache/tinkerpop/gremlin/server/GremlinDriverIntegrateTest.java --- @@ -1248,6 +1250,73 @@ public void shouldProcessSessionRequestsInOrderAfterTimeout() throws Exception { } } +@Test +public void shouldCloseAllClientsOnCloseOfCluster() throws Exception { +final Cluster cluster = Cluster.open(); +final Client sessionlessOne = cluster.connect(); +final Client session = cluster.connect("session"); +final Client sessionlessTwo = cluster.connect(); +final Client sessionlessThree = cluster.connect(); +final Client sessionlessFour = cluster.connect(); + +assertEquals(2, sessionlessOne.submit("1+1").all().get().get(0).getInt()); +assertEquals(2, session.submit("1+1").all().get().get(0).getInt()); +assertEquals(2, sessionlessTwo.submit("1+1").all().get().get(0).getInt()); +assertEquals(2, sessionlessThree.submit("1+1").all().get().get(0).getInt()); +// dont' send anything on the 4th client + +// close one of these Clients before the Cluster +sessionlessThree.close(); +cluster.close(); + +try { --- End diff -- It is not verified, that exceptions are actually thrown. Should be more like: ``` try { sessionXyz.submit("1+1").all().get(); assertTrue(false); } catch (Exception ex) { ``` --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] tinkerpop pull request #441: TINKERPOP-1467 Corrected a number of problems i...
Github user dkuppitz commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/441#discussion_r81113830 --- Diff: docs/src/upgrade/release-3.1.x-incubating.asciidoc --- @@ -27,6 +27,23 @@ TinkerPop 3.1.5 *Release Date: NOT OFFICIALLY RELEASED YET* +Please see the link:https://github.com/apache/tinkerpop/blob/3.1.4/CHANGELOG.asciidoc#tinkerpop-315-release-date-[changelog] for a complete list of all the modifications that are part of this release. + +Upgrading for Users +~~~ + +Java Driver and close() +^^^ + +There were a few problems noted around the `close()` of `Cluster` and `Client` instances, including issues that +presented as system hangs. These issues have been resolved, however, it is worth nothing that an unchecked exception --- End diff -- worth nothing => worth noting --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---
[GitHub] tinkerpop pull request #441: TINKERPOP-1467 Corrected a number of problems i...
GitHub user spmallette opened a pull request: https://github.com/apache/tinkerpop/pull/441 TINKERPOP-1467 Corrected a number of problems in close() operations for the driver [tp31] https://issues.apache.org/jira/browse/TINKERPOP-1467 This was more of a commit than I wanted for `tp31`, but `close()` was really messed up. Fixed a number of race conditions and other logic that would allow the driver to hang on close. Also made it so that the `Cluster` makes an attempt to clean up any `Client` instances that it spawns. Tested with `mvn clean install` and endlessly with `mvn verify -pl gremlin-server -DskipIntegrationTests=false` (basically ran it for a whole day over and over again). VOTE +1 You can merge this pull request into a Git repository by running: $ git pull https://github.com/apache/tinkerpop TINKERPOP-1467 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/tinkerpop/pull/441.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 #441 commit c3acce6e0a8c9270a10ed0eb4f3fd3f46539a655 Author: Stephen Mallette Date: 2016-09-28T15:06:14Z Corrected a number of problems in close() operations for the driver. This was more of a commit than I wanted for tp31, but close() was really messed up. Fixed a number of race conditions and other logic that would allow the driver to hang on close. Also made it so that the Cluster makes an attempt to clean up any Client instances that it spawns. --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---