confluentinc / librdkafka

The Apache Kafka C/C++ library
Other
175 stars 3.14k forks source link

hang on rd_kafka_destroy_app #625

Closed merlin82 closed 8 years ago

merlin82 commented 8 years ago

when kafka(0.9.0.1) configure: listeners=PLAINTEXT://:9092 on another machine, use librdkafka consume, it connect: tcp 0 0 10.123.5.32:9092 10.123.13.40:37662 ESTABLISHED but, print error log: [kakfa][EVENT_ERROR]localhost:9092/boots trap: Connect to ipv4#127.0.0.1:9092 failed: Connection refused,-195:Local: Broker transport failure

and, sometime, the consumer can't destroy.

0 0x00007fe02790722d in pthread_join () from /lib64/libpthread.so.0

1 0x00007fe025b64022 in thrd_join (thr=, res=0x0) at tinycthread.c:732

2 0x00007fe025b299b7 in rd_kafka_destroy_app (rk=0x4c5fc80) at rdkafka.c:498

3 rd_kafka_destroy (rk=0x4c5fc80) at rdkafka.c:506

4 0x00007fe025b218dd in RdKafka::KafkaConsumerImpl::close (this=0x4c5fa20) at KafkaConsumerImpl.cpp:223

==== modify ==== sorry, it's can destory, but take one more minute. maybe consume thread is waiting. the only problem is connect to 127.0.0.1:9092, i pass is conf->set("metadata.broker.list", "10.123.5.32:9092", errstr);

edenhill commented 8 years ago

What version of librdkafka are you using? And is this reproducible on latest master?

merlin82 commented 8 years ago

yes, it's the latest master version. @edenhill

edenhill commented 8 years ago

If the group coordinator broker is not available a consumer_close() will block for up to session.timeout.ms waiting to commit final offsets. Previously (3 weeks ago) this wait was forever.