You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Karthik Rajan (JIRA)" <ji...@apache.org> on 2016/08/22 04:20:20 UTC
[jira] [Commented] (TINKERPOP-1249) Gremlin driver to periodically
issue ping / heartbeat to gremlin server
[ https://issues.apache.org/jira/browse/TINKERPOP-1249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15430020#comment-15430020 ]
Karthik Rajan commented on TINKERPOP-1249:
------------------------------------------
Before we get the driver to fire periodic pings, is it possible to make the GremlinServer open a ping API that can be wired with the load balancer? I'm working on monitoring the server health from within the host, and the current plan is to use a Driver to manually do something like g.V().limit(1) to see if the server is healthy. Do you recommend any other workarounds in the meanwhile?
> 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
> Priority: Critical
>
> 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)