Divij Vaidya created TINKERPOP-2175:
---------------------------------------

             Summary: Executor thread is not returned on channel close
                 Key: TINKERPOP-2175
                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2175
             Project: TinkerPop
          Issue Type: Bug
          Components: driver
    Affects Versions: 3.3.5, 3.4.0
            Reporter: Divij Vaidya


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]
 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to