You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Benjamin Lerer (Jira)" <ji...@apache.org> on 2021/09/07 14:29:00 UTC

[jira] [Commented] (CASSANDRA-15975) SEP.shutdownAndWait does not wait for termination and SEPExecutor.awaitTermination may hang

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

Benjamin Lerer commented on CASSANDRA-15975:
--------------------------------------------

[~jmeredithco] This ticket look ready to commit. Anything blocking you ?

> SEP.shutdownAndWait does not wait for termination and SEPExecutor.awaitTermination may hang
> -------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-15975
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15975
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local/Other
>            Reporter: Jon Meredith
>            Assignee: Jon Meredith
>            Priority: Normal
>
> SharedExecutorPool.shutdownAndWait calls shutdownNow on the executors it owns, which has the side effect of removing the executor from the list, then uses the same emptied list to try and wait for them to complete shutting down, which completes immediately.
>  
> Once fixed by copying the list in SEP.shutdownAndWait, the SEPExecutorTest suite fails with a timeout due to a startup race in SEPWorker.
>  
> If a SEPExecutor is shutdown immediately after maybeSchedule creates a new SEPWorker,
> but before it is able to execute the first task then it exits immediately on entering the work loop with a work and task permit reserved for it, which invalidates the work/task permit accounting and prevents calling the shutdown SimpleCondition.signalAll when the last SEPWorker exits.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org