Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Eliminate race condition in Tomcat's graceful shutdown
There was a race condition between the thread that's waiting for Tomcat to become inactive or the graceful shutdown to be aborted and the thread that aborts the shutdown and stops Tomcat when the grace period has elapsed. This race can lead to Tomcat appearing to have become inactive before the abort of the shutdown is noticed. When this happens, the result of the shutdown is reported as IDLE when it should have been REQUESTS_ACTIVE. The consequences of this are mostly benign although it does affect the log messages that are emitted. It is also causing some of our graceful shutdown tests to be flaky. This commit eliminates the race condition by considering the state of the aborted flag before logging and returning the result of the shutdown. Closes gh-39942
- Loading branch information