kowshik opened a new pull request #9596:
URL: https://github.com/apache/kafka/pull/9596


   The asynchronous shutdown in `LogManager` has the shortcoming that if during 
shutdown any of the internal futures fail, then we do not always ensure that 
all futures are completed before `LogManager.shutdown` returns. As a result, 
despite the `shut down completed` message from KafkaServer is seen in the error 
logs, some futures continue to run from inside LogManager attempting to close 
the logs. This is misleading and it could possibly break the general rule of 
avoiding post-shutdown activity in the Broker.
   
   In this PR, we fix he above behavior such that we prevent leakage of 
threads. If any of the futures throw an error, we  skip creating of checkpoint 
and clean shutdown file only for the affected log directory. We continue to 
wait for all futures to complete for all the directories.
   
   **Test plan:**
   
   Added a new unit test: `LogManager. testHandlingExceptionsDuringShutdown`.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to