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

Executor thread is not returned on channel close

    XMLWordPrintableJSON

Details

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

    Description

      This issue was originally discussed in https://issues.apache.org/jira/browse/TINKERPOP-2169

      Due to an error (such as CorruptedFrameException) a client might decide to close the Netty channel to the server with a CloseWebsocketFrame. On the server, although the channel gets closed, there might be some executor threads waiting for watermark to clear which will not clear in these cases since client has already given up on these requests. This leads to these executors waiting for the client to consume results till the timeout.

      A simple fix would be to check for channel.isActive() while waiting for channel to become writable at [1] and [2].

      [1]https://github.com/apache/tinkerpop/blob/d1a3fa147d1f009ae57274827c9b59426dfc6e58/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/traversal/TraversalOpProcessor.java#L533
      [2]https://github.com/apache/tinkerpop/blob/d1a3fa147d1f009ae57274827c9b59426dfc6e58/gremlin-server/src/main/java/org/apache/tinkerpop/gremlin/server/op/AbstractOpProcessor.java#L141 

      Attachments

        Issue Links

          Activity

            People

              spmallette Stephen Mallette
              divijvaidya Divij Vaidya
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: