[ 
https://issues.apache.org/jira/browse/KAFKA-6164?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16236900#comment-16236900
 ] 

Ted Yu commented on KAFKA-6164:
-------------------------------

ThrottledRequestReaper extends ShutdownableThread where
{code}
abstract class ShutdownableThread(val name: String, val isInterruptible: 
Boolean = true)
        extends Thread(name) with Logging {
  this.setDaemon(false)
{code}
should a subclass of ShutdownableThread with daemon being true be created ?

> ClientQuotaManager threads prevent shutdown when encountering an error 
> loading logs
> -----------------------------------------------------------------------------------
>
>                 Key: KAFKA-6164
>                 URL: https://issues.apache.org/jira/browse/KAFKA-6164
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 0.11.0.0, 1.0.0
>            Reporter: Xavier Léauté
>            Priority: Major
>
> While diagnosing KAFKA-6163, we noticed that when the broker initiates a 
> shutdown sequence in response to an error loading the logs, the process never 
> exits. The JVM appears to be waiting indefinitely for several non-deamon 
> threads to terminate.
> The threads in question are {{ThrottledRequestReaper-Request}}, 
> {{ThrottledRequestReaper-Produce}}, and {{ThrottledRequestReaper-Fetch}}, so 
> it appears we don't properly shutdown {{ClientQuotaManager}} in this 
> situation.
> QuotaManager shutdown is currently handled by KafkaApis, however KafkaApis 
> will never be instantiated in the first place if we encounter an error 
> loading the logs, so quotamangers are left dangling in that case.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to