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)