Details
-
Bug
-
Status: Open
-
Blocker
-
Resolution: Unresolved
-
0.10.2.0
-
None
-
None
-
jdk1.8.73
Linux version 3.12.49-11-default (geeko@buildhost) (gcc version 4.8.5 (SUSE Linux) ) #1 SMP Wed Nov 11 20:52:43 UTC 2015 (8d714a0)
SUSE Linux Enterprise Server 12 SP1 release 12.1
Description
【问题现象】:KafkaConsume.poll方法无法终止,导致线程无法关闭。
【复现方法】:安装3节点的kafka集群(3个broke和3个zk)。先关闭2个zk导致zk不可用,然后再关闭2个broke。然后向创建kafkaConsumer,发送poll请求。topic是单副本单分区的。
【异常信息】:
[2018-11-05 15:42:23,318/CST][consumer thread://mano-test-02/my_json_group][WARN][RHM_Beta_Service01][rest][Connection exception with /10.21.84.172 disconnected][org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:407)]
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at org.apache.kafka.common.network.SslTransportLayer.finishConnect(SslTransportLayer.java:110)
at org.apache.kafka.common.network.KafkaChannel.finishConnect(KafkaChannel.java:81)
at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:365)
at org.apache.kafka.common.network.Selector.poll(Selector.java:332)
at org.apache.kafka.clients.NetworkClient.poll(NetworkClient.java:375)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:234)
at org.apache.kafka.clients.consumer.internals.ConsumerNetworkClient.poll(ConsumerNetworkClient.java:180)
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.joinGroupIfNeeded(AbstractCoordinator.java:358)
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureActiveGroup(AbstractCoordinator.java:327)
at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.poll(ConsumerCoordinator.java:329)
at org.apache.kafka.clients.consumer.KafkaConsumer.pollOnce(KafkaConsumer.java:1056)
at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1021)
at com.huawei.middleware.dms.store.kafka.DmsKafkaConsumers.pullFromStore(DmsKafkaConsumers.java:239)
at com.huawei.middleware.dms.store.kafka.DmsKafkaConsumerThread.doRun(DmsKafkaConsumerThread.java:96)
at com.huawei.middleware.dms.store.kafka.DmsKafkaConsumerThread.run(DmsKafkaConsumerThread.java:60)
【堆栈】:
"consumer thread://mano-test-01/my_json_group" #182 prio=5 os_prio=0 tid=0x00007f1d14016000 nid=0x19a80 waiting on condition [0x00007f1cac8eb000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.apache.kafka.common.utils.SystemTime.sleep(SystemTime.java:45)
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.joinGroupIfNeeded(AbstractCoordinator.java:372)
at org.apache.kafka.clients.consumer.internals.AbstractCoordinator.ensureActiveGroup(AbstractCoordinator.java:327)
at org.apache.kafka.clients.consumer.internals.ConsumerCoordinator.poll(ConsumerCoordinator.java:329)
at org.apache.kafka.clients.consumer.KafkaConsumer.pollOnce(KafkaConsumer.java:1056)
at org.apache.kafka.clients.consumer.KafkaConsumer.poll(KafkaConsumer.java:1021)
at com.huawei.middleware.dms.store.kafka.DmsKafkaConsumers.pullFromStore(DmsKafkaConsumers.java:239)
at com.huawei.middleware.dms.store.kafka.DmsKafkaConsumerThread.doRun(DmsKafkaConsumerThread.java:96)
at com.huawei.middleware.dms.store.kafka.DmsKafkaConsumerThread.run(DmsKafkaConsumerThread.java:60)