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]

Reply via email to