[ https://issues.apache.org/jira/browse/TINKERPOP-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15516050#comment-15516050 ]
ASF GitHub Bot commented on TINKERPOP-1249: ------------------------------------------- Github user robertdale commented on the issue: https://github.com/apache/tinkerpop/pull/433 Yup, there it is right there in the javadoc: When close() is called, the Cluster is left open for the caller to close. > Gremlin driver to periodically issue ping / heartbeat to gremlin server > ----------------------------------------------------------------------- > > Key: TINKERPOP-1249 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1249 > Project: TinkerPop > Issue Type: Improvement > Components: driver > Affects Versions: 3.1.1-incubating > Environment: gremlin driver accessing gremlin server behind a load > balancer / proxy (tested on nginx proxing the gremlin server) > Reporter: Venkata Phani Kumar Mangipudi > > Gremlin driver currently not sending any ping request to the gremlin server. > As a result, the websocket channel gets closed by the nginx / load balancer/ > proxy after a period of inactivity. > This forces the sockets to be left open indefinitely on the proxy/ load > balancer. Which is not a good practice, because this would lead to socket > leaks (not sure if that is the right word). What I mean by saying socket > leak, is: if there are multiple clients (micro services) connecting to the > same gremlin-server using gremlin driver. They all end up having open > channels to the server. And the server would never be able to release the > channels. > Meaning if the micro services using gremlin driver and having a pool size of > 10 are restarted say 100 times, there will be 1000 channels open indefinitely > and there is no way to revoke the killed instances' open channels. > This has been discussed in gremlin-users group: > https://groups.google.com/forum/#!topic/gremlin-users/UjaV6sRuKMc -- This message was sent by Atlassian JIRA (v6.3.4#6332)