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
- links to