Jon Meredith created CASSANDRA-15975:
----------------------------------------
Summary: 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
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]