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

Kuradeon commented on KAFKA-17263:
----------------------------------

I added volatile flag for closed and enabled fields in heartbeat thread along 
with the heartbeat thread field in coordinator. After that, I check two VM, 
both of them hold lots of heartbeat threads of one client when the client 
enabled static membership. While only one heartbeat thread of the normal 
consumer clients. I guess it may be a bug in static membership feature.

> Sometimes KafkaConsumer.close will block the thread
> ---------------------------------------------------
>
>                 Key: KAFKA-17263
>                 URL: https://issues.apache.org/jira/browse/KAFKA-17263
>             Project: Kafka
>          Issue Type: Bug
>          Components: clients, consumer
>    Affects Versions: 2.8.2
>         Environment: Java 8
>            Reporter: Kuradeon
>            Priority: Major
>         Attachments: screenshot-1.png, screenshot-2.png
>
>
> Sometimes, the thread will be blocked and never continue (state: waiting) 
> after invoke KafkaConsumer.close(). Here are the related thread dump:
> {code:java}
> Thread 73 (pool-5-thread-1):
>   State: WAITING
>   Blocked count: 25
>   Waited count: 22
>   Waiting on 
> org.apache.kafka.clients.consumer.internals.AbstractCoordinator$HeartbeatThread@565a2927
>   Stack:
>     java.lang.Object.wait(Native Method)
>     java.lang.Thread.join(Thread.java:1257)
>     java.lang.Thread.join(Thread.java:1331)
>     
> org.apache.kafka.clients.consumer.internals.AbstractCoordinator.closeHeartbeatThread(AbstractCoordinator.java:385)
>     
> org.apache.kafka.clients.consumer.internals.AbstractCoordinator.close(AbstractCoordinator.java:1010)
>     
> org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.close(ConsumerCoordinator.java:926)
>     
> org.apache.kafka.clients.consumer.KafkaConsumer.close(KafkaConsumer.java:2366)
>     
> org.apache.kafka.clients.consumer.KafkaConsumer.close(KafkaConsumer.java:2333)
>     
> org.apache.kafka.clients.consumer.KafkaConsumer.close(KafkaConsumer.java:2283)
> Thread 687 (kafka-coordinator-heartbeat-thread | XXXX-st-c35):
>   State: WAITING
>   Blocked count: 0
>   Waited count: 1
>   Waiting on 
> org.apache.kafka.clients.consumer.internals.ConsumerCoordinator@51f1e632
>   Stack:
>     java.lang.Object.wait(Native Method)
>     java.lang.Object.wait(Object.java:502)
>     
> org.apache.kafka.clients.consumer.internals.AbstractCoordinator$HeartbeatThread.run(AbstractCoordinator.java:1360)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to