Uploaded image for project: 'TinkerPop'
  1. TinkerPop
  2. TINKERPOP-1249

Gremlin driver to periodically issue ping / heartbeat to gremlin server

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Implemented
    • 3.1.1-incubating
    • 3.2.3
    • driver
    • None
    • gremlin driver accessing gremlin server behind a load balancer / proxy (tested on nginx proxing the gremlin server)

    Description

      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

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            spmallette Stephen Mallette
            phani1kumar Venkata Phani Kumar Mangipudi
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment