Hi Kafka Team,

We are running multiple webapps in tomcat container, and we have producer
which are managed by the ServletContextListener (Lifecycle).  Upon
contextInitialized we create and on contextDestroyed we call the
producer.close() but underlying Metric Lib does not shutdown.  So we have
thread leak due to this issue.  I had to call
Metrics.defaultRegistry().shutdown() to resolve this issue.  is this know
issue ? I know the metric lib have JVM Shutdown hook, but it will not be
invoke since the contain thread is un-deploying the web app and class
loader goes way and leaking thread does not find the under lying Kafka
class.    Because of this tomcat, it not shutting down gracefully.

Are you guys planing to un-register metrics when Producer close is called
or shutdown Metrics pool for client.id ?


SEVERE: The web application [  ] appears to have started a thread named [
*metrics-meter-tick-thread-1*] but has failed to stop it. This is very
likely to create a memory leak.
SEVERE: The web application [] appears to have started a thread named [
*metrics-meter-tick-thread-2*] but has failed to stop it. This is very
likely to create a memory leak.

Thanks,

Bhavesh

Reply via email to