[ https://issues.apache.org/jira/browse/KAFKA-8725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason Gustafson resolved KAFKA-8725. ------------------------------------ Fix Version/s: 2.4.0 Resolution: Fixed > Improve LogCleaner error handling when failing to grab the filthiest log > ------------------------------------------------------------------------ > > Key: KAFKA-8725 > URL: https://issues.apache.org/jira/browse/KAFKA-8725 > Project: Kafka > Issue Type: Improvement > Reporter: Stanislav Kozlovski > Assignee: Stanislav Kozlovski > Priority: Major > Fix For: 2.4.0 > > > https://issues.apache.org/jira/browse/KAFKA-7215 improved error handling in > the log cleaner with the goal of not having the whole thread die when an > exception happens, but rather mark the partition that caused it as > uncleanable and continue cleaning the error-free partitions. > Unfortunately, the current code can still bubble up an exception and cause > the thread to die when an error happens before we can grab the filthiest log > and start cleaning it. At that point, we don't have a clear reference to the > log that caused the exception and chose to throw an IllegalStateException - > [https://github.com/apache/kafka/blob/39bcc8447c906506d63b8df156cf90174bbb8b78/core/src/main/scala/kafka/log/LogCleaner.scala#L346] > (as seen in https://issues.apache.org/jira/browse/KAFKA-8724) > Essentially, exceptions in `grabFilthiestCompactedLog` still cause the thread > to die. This can be further improved by trying to catch what log caused the > exception in the aforementioned function -- This message was sent by Atlassian Jira (v8.3.4#803005)