You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2019/12/16 18:40:00 UTC

[jira] [Commented] (TINKERPOP-2175) Executor thread is not returned on channel close

    [ https://issues.apache.org/jira/browse/TINKERPOP-2175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16997538#comment-16997538 ] 

ASF GitHub Bot commented on TINKERPOP-2175:
-------------------------------------------

spmallette commented on pull request #1234: TINKERPOP-2175 Better manage the executor thread on close.
URL: https://github.com/apache/tinkerpop/pull/1234
 
 
   https://issues.apache.org/jira/browse/TINKERPOP-2175
   
   Pretty much implemented as described in the JIRA - make sense to me to check for an active channel in addition to writeability.
   
   Builds with `mvn clean install && mvn verify -pl gremlin-server -DskipIntegrationTests=false`
   
   VOTE +1
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> 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.4.0, 3.3.5
>            Reporter: Divij Vaidya
>            Priority: Major
>
> 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
(v8.3.4#803005)