[ https://issues.apache.org/jira/browse/KAFKA-10063?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason Gustafson updated KAFKA-10063: ------------------------------------ Description: We have a few log cleaner metrics which iterate the set of cleaners. For example: {code} newGauge("max-clean-time-secs", () => cleaners.iterator.map(_.lastStats.elapsedSecs).max.toInt) {code} It seems possible currently for LogCleaner metrics to get queried after shutdown of the log cleaner, which clears the `cleaners` collection. This can lead to the following error: {code} java.lang.UnsupportedOperationException: empty.max at scala.collection.IterableOnceOps.max(IterableOnce.scala:952) at scala.collection.IterableOnceOps.max$(IterableOnce.scala:950) at scala.collection.AbstractIterator.max(Iterator.scala:1279) at kafka.log.LogCleaner.kafka$log$LogCleaner$$$anonfun$new$9(LogCleaner.scala:132) at kafka.log.LogCleaner$$anonfun$4.value(LogCleaner.scala:132) at kafka.log.LogCleaner$$anonfun$4.value(LogCleaner.scala:132) {code} was: We have a few log cleaner metrics which iterate the set of cleaners. For example: {code} newGauge("max-clean-time-secs", () => cleaners.iterator.map(_.lastStats.elapsedSecs).max.toInt) {code} It seems possible currently for LogCleaner metrics to get queried after shutdown of the log cleaner, which clears the `cleaners` collection. This can lead to the following error: {code} ava.lang.UnsupportedOperationException: empty.max at scala.collection.IterableOnceOps.max(IterableOnce.scala:952) at scala.collection.IterableOnceOps.max$(IterableOnce.scala:950) at scala.collection.AbstractIterator.max(Iterator.scala:1279) at kafka.log.LogCleaner.kafka$log$LogCleaner$$$anonfun$new$9(LogCleaner.scala:132) at kafka.log.LogCleaner$$anonfun$4.value(LogCleaner.scala:132) at kafka.log.LogCleaner$$anonfun$4.value(LogCleaner.scala:132) {code} > UnsupportedOperation when querying cleaner metrics after shutdown > ----------------------------------------------------------------- > > Key: KAFKA-10063 > URL: https://issues.apache.org/jira/browse/KAFKA-10063 > Project: Kafka > Issue Type: Bug > Reporter: Jason Gustafson > Priority: Major > > We have a few log cleaner metrics which iterate the set of cleaners. For > example: > {code} > newGauge("max-clean-time-secs", () => > cleaners.iterator.map(_.lastStats.elapsedSecs).max.toInt) > {code} > It seems possible currently for LogCleaner metrics to get queried after > shutdown of the log cleaner, which clears the `cleaners` collection. This can > lead to the following error: > {code} > java.lang.UnsupportedOperationException: empty.max > at scala.collection.IterableOnceOps.max(IterableOnce.scala:952) > at scala.collection.IterableOnceOps.max$(IterableOnce.scala:950) > at scala.collection.AbstractIterator.max(Iterator.scala:1279) > at > kafka.log.LogCleaner.kafka$log$LogCleaner$$$anonfun$new$9(LogCleaner.scala:132) > at kafka.log.LogCleaner$$anonfun$4.value(LogCleaner.scala:132) > at kafka.log.LogCleaner$$anonfun$4.value(LogCleaner.scala:132) > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)