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

Keep alive not started at connection creation

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.3.5
    • 3.5.0, 3.4.5, 3.3.10
    • driver
    • None

    Description

      I keep seeing connections in the connection pool being closed in the Gremlin Java driver, and it looks like there are no keep alive messages being sent to keep the connection open. However, after a write happens to the connection, the keep alive seems to start and keep the connection open, based on observations from tcpdump. The problem with this is that sometimes when we make a query to the client, we get a connection which is closed, and an exception is thrown. This results in an increase in customer-impacting faults, and retries are likely to pull down another connection which is also closed in a pool with a lot of connections. Larger pools are necessary with longer running queries to have sufficient concurrency.

      It looks like when keep alive was added, it was written to only start the keep alive after there is a write to the connection. In the case where a connection is created as part of a connection pool during initialization, I can't find where any write would be made to start the keep alive. Is there another a mechanism to start this keep alive when a connection is created?

      Attachments

        Issue Links

          Activity

            People

              spmallette Stephen Mallette
              cjoftheweb Christian Howe
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: