You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/02/22 22:10:18 UTC

[jira] [Commented] (TINKERPOP-1172) Reconnect to Gremlin Server previously marked as dead

    [ https://issues.apache.org/jira/browse/TINKERPOP-1172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15157698#comment-15157698 ] 

ASF GitHub Bot commented on TINKERPOP-1172:
-------------------------------------------

GitHub user spmallette opened a pull request:

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

    TINKERPOP-1172 Fixed bug with driver connecting to an initially dead server.

    https://issues.apache.org/jira/browse/TINKERPOP-1172
    
    The `ConnectionPool` wasn't getting initialized properly when the host was dead which then lead to a null pointer exception when trying to reconnect.  Also fixed the possibility of a connection leak if the pool was partially initialized but the host died in the middle of that. Those partial connections were never properly closed.
    
    I performed multiple successful runs of `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/incubator-tinkerpop TINKERPOP-1172

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

    https://github.com/apache/incubator-tinkerpop/pull/235.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 #235
    
----
commit 37f30339cba07d084ed66a33f6f6e05936d18b2a
Author: Stephen Mallette <sp...@genoprime.com>
Date:   2016-02-22T21:01:44Z

    Fixed bug with driver connecting to an initially dead server.
    
    The ConnectionPool wasn't getting initialized properly when the host was dead which then lead to a null pointer exception when trying to reconnect.  Also fixed the possibiilty of a connection leak if the pool was partially initialized but the host died in the middle of that. Those partial connections were never properly closed.

----


> Reconnect to Gremlin Server previously marked as dead
> -----------------------------------------------------
>
>                 Key: TINKERPOP-1172
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1172
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: driver
>    Affects Versions: 3.1.1-incubating
>            Reporter: stephen mallette
>            Assignee: stephen mallette
>             Fix For: 3.1.2-incubating
>
>
> We have a test to validate that this works when connecting to multiple servers in a round-robin fashion but nothing that tests against a single server and it seems that there are some problems around that particular situation. It tends to manifest as:
> {code}
> Caused by: java.lang.NullPointerException: null
> 	at org.apache.tinkerpop.gremlin.driver.ConnectionPool.considerUnavailable(ConnectionPool.java:392) ~[gremlin-driver-3.1.2-SNAPSHOT.jar:3.1.2-SNAPSHOT]
> 	at org.apache.tinkerpop.gremlin.driver.ConnectionPool.<init>(ConnectionPool.java:101) ~[gremlin-driver-3.1.2-SNAPSHOT.jar:3.1.2-SNAPSHOT]
> 	at org.apache.tinkerpop.gremlin.driver.Client$SessionedClient.initializeImplementation(Client.java:558) ~[gremlin-driver-3.1.2-SNAPSHOT.jar:3.1.2-SNAPSHOT]
> 	at org.apache.tinkerpop.gremlin.driver.Client.init(Client.java:117) ~[gremlin-driver-3.1.2-SNAPSHOT.jar:3.1.2-SNAPSHOT]
> 	at org.apache.tinkerpop.gremlin.driver.Client.submitAsync(Client.java:182) ~[gremlin-driver-3.1.2-SNAPSHOT.jar:3.1.2-SNAPSHOT]
> 	at org.apache.tinkerpop.gremlin.driver.Client.submitAsync(Client.java:174) ~[gremlin-driver-3.1.2-SNAPSHOT.jar:3.1.2-SNAPSHOT]
> 	at org.apache.tinkerpop.gremlin.driver.Client.submit(Client.java:144) ~[gremlin-driver-3.1.2-SNAPSHOT.jar:3.1.2-SNAPSHOT]
> 	... 21 common frames omitted
> {code}
> when the {{ConnectionPool}} can not be intialized in any way at start up. If that happens the {{Client}} doesn't seem to recover well.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)