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

Get ConnectionPoolBusyException and then ServerUnavailableExceptions

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 3.4.1
    • 3.5.0, 3.4.8
    • dotnet
    • None
    • Gremlin.Net 3.4.1
      Microsoft.NetCore.App 2.2
      Azure Cosmos DB
    • Important

    Description

      I am using .Net core Gremlin API  query Cosmos DB.

      From time to time we are getting an error saying that no connection is available and then the server become unavailable. When this is occurring we need to restart the server. It looks like the connections are not released properly and become unavailable forever.

      We have configured the pool size to 50 and the MaxInProcessPerConnection to 32 (Which I guess should be sufficient).

      To diagnose the issue, Is there a way to access diagnostic information on the connection pool in order to know how many connections are open and how many processes are running in each connection?

      I would like to be able to monitor the connections usage to see if they are about to be exhausted and to see if the number of used connections is always increasing or of the connection lease is release when the queries completes?

      As a work around, Is there a way we can access this information from the code so that I can catch those scenario and create logic that re-initiate the connection pool?

       

       

      Attachments

        1. Gremlin.Net.3.4.7-SNAPSHOT.nupkg
          243 kB
          Florian Hockmann
        2. image-2020-05-08-22-37-18-834.png
          121 kB
          Maurice Bachor

        Issue Links

          Activity

            People

              Florian Hockmann Florian Hockmann
              pathuot patrice huot
              Votes:
              12 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: