[
https://issues.apache.org/jira/browse/CASSANDRA-15975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17166723#comment-17166723
]
David Capwell commented on CASSANDRA-15975:
-------------------------------------------
LGTM +1
> 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: [email protected]
For additional commands, e-mail: [email protected]