[GitHub] tinkerpop pull request #441: TINKERPOP-1467 Corrected a number of problems i...

2016-10-04 Thread asfgit
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...

2016-09-29 Thread dkuppitz
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...

2016-09-29 Thread dkuppitz
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...

2016-09-28 Thread spmallette
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.
---