[ https://issues.apache.org/jira/browse/TINKERPOP-2369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17178122#comment-17178122 ]
Divij Vaidya commented on TINKERPOP-2369: ----------------------------------------- Hey [~carlsej] [~cvilladiegoa] I have filed a pull request to fix this. If you are interested, please review the change. > Connections in ConnectionPool are not replaced in background when underlying > channel is closed > ---------------------------------------------------------------------------------------------- > > Key: TINKERPOP-2369 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2369 > Project: TinkerPop > Issue Type: Bug > Components: driver > Affects Versions: 3.4.1 > Reporter: Johannes Carlsen > Priority: Major > > Hi Tinkerpop team! > > We are using the Gremlin Java Driver to connect to an Amazon Neptune cluster. > We are using the IAM authentication feature provided by Neptune, which means > that individual websocket connections are closed by the server every 36 > hours, when their credentials expire. The current implementation of the > driver does not handle this situation well, as the Connection whose channel > has been closed by the server remains in the ConnectionPool. The connection > is only reported as dead and replaced when when it is later chosen by the > LoadBalancingStrategy to server a client request, which inevitably fails when > the connection attempts to write to the closed channel. > A fix for this bug would cause the connection pool to be automatically > refreshed in the background by either the keep-alive mechanism, which should > replace a connection if a keep-alive request fails, or by adding a listener > for the close frame being sent to the underlying channel to replace the > connection. Without a fix, the only way to recover from a stale connection is > to retry the request at the cluster level, which will allow the request to be > directed to a different connection. > I noticed a PR out for the .NET client to fix this behavior: > [https://github.com/apache/tinkerpop/pull/1279.] We are hoping for something > similar in the Gremlin Java Driver. -- This message was sent by Atlassian Jira (v8.3.4#803005)