Skip to content

segfault in rd_kafka_msgq_set_metadata() from /lib64/librdkafka.so.1 (corrupt TAILQ) #3559

@johncagle

Description

@johncagle

Description

I'm seeing this issue on multiple systems, this is just one occurrence (of the same traceback):

Time of occurrence: 2021-08-29 23:02:09 UTC

Program terminated with signal 11, Segmentation fault.
#0  0x00007f22dd06f087 in rd_kafka_msgq_set_metadata () from /lib64/librdkafka.so.1

Here is the active thread:
#0  0x00007f22dd06f087 in rd_kafka_msgq_set_metadata () from /lib64/librdkafka.so.1
#1  0x00007f22dd09563d in rd_kafka_msgbatch_handle_Produce_result () from /lib64/librdkafka.so.1
#2  0x00007f22dd0978cc in rd_kafka_handle_Produce () from /lib64/librdkafka.so.1
#3  0x00007f22dd085c64 in rd_kafka_buf_callback () from /lib64/librdkafka.so.1
#4  0x00007f22dd06034f in rd_kafka_recv () from /lib64/librdkafka.so.1
#5  0x00007f22dd0833c0 in rd_kafka_transport_io_event () from /lib64/librdkafka.so.1
#6  0x00007f22dd083ed3 in rd_kafka_transport_io_serve () from /lib64/librdkafka.so.1
#7  0x00007f22dd06b681 in rd_kafka_broker_ops_io_serve () from /lib64/librdkafka.so.1
#8  0x00007f22dd06cfb8 in rd_kafka_broker_serve () from /lib64/librdkafka.so.1
#9  0x00007f22dd06d825 in rd_kafka_broker_thread_main () from /lib64/librdkafka.so.1
#10 0x00007f22dd0e59f7 in _thrd_wrapper_function () from /lib64/librdkafka.so.1
#11 0x00007f22de6d7dd5 in start_thread () from /lib64/libpthread.so.0
#12 0x00007f22de400ead in clone () from /lib64/libc.so.6

Core inspection seems to indicate that kafka is walking through an internal queue when it hits an invalid pointer:

Thread 1 (Thread 0x7f216d7fc700 (LWP 20037)):
#0  rd_kafka_msgq_set_metadata (rkmq=rkmq@entry=0x7f1f3214b170, broker_id=0, base_offset=3968079572, timestamp=-1, status=status@entry=RD_KAFKA_MSG_STATUS_PERSISTED) at rdkafka_msg.c:1001
#1  0x00007f22dd09563d in rd_kafka_msgbatch_handle_Produce_result (rkb=rkb@entry=0x7f22812b6c00, batch=batch@entry=0x7f1f3214b168, err=RD_KAFKA_RESP_ERR_NO_ERROR, presult=presult@entry=0x7f216d7f4820, request=<optimized out>) at rdkafka_request.c:3370
#2  0x00007f22dd0978cc in rd_kafka_handle_Produce (rk=<optimized out>, rkb=0x7f22812b6c00, err=<optimized out>, reply=0x7f2094508a00, request=0x7f1f3214b000, opaque=<optimized out>) at rdkafka_request.c:3427
#3  0x00007f22dd085c64 in rd_kafka_buf_callback (rk=0x7f228137c000, rkb=0x7f22812b6c00, err=RD_KAFKA_RESP_ERR_NO_ERROR, response=0x7f2094508a00, request=0x7f1f3214b000) at rdkafka_buf.c:492
#4  0x00007f22dd06034f in rd_kafka_recv (rkb=rkb@entry=0x7f22812b6c00) at rdkafka_broker.c:1803
#5  0x00007f22dd0833c0 in rd_kafka_transport_io_event (rktrans=rktrans@entry=0x7f2238800000, events=events@entry=1) at rdkafka_transport.c:759
#6  0x00007f22dd083ed3 in rd_kafka_transport_io_serve (rktrans=0x7f2238800000, timeout_ms=796) at rdkafka_transport.c:818
#7  0x00007f22dd06b681 in rd_kafka_broker_ops_io_serve (rkb=0x7f22812b6c00, abs_timeout=<optimized out>) at rdkafka_broker.c:3425
#8  0x00007f22dd06cfb8 in rd_kafka_broker_serve (rkb=0x7f22812b6c00, timeout_ms=<optimized out>) at rdkafka_broker.c:4032
#9  0x00007f22dd06d825 in rd_kafka_broker_thread_main (arg=arg@entry=0x7f22812b6c00) at rdkafka_broker.c:5328
#10 0x00007f22dd0e59f7 in _thrd_wrapper_function (aArg=<optimized out>) at tinycthread.c:576
#11 0x00007f22de6d7dd5 in start_thread () from /lib64/libpthread.so.0
#12 0x00007f22de400ead in clone () from /lib64/libc.so.6

992	/**
993	 * @brief Set per-message metadata for all messages in \p rkmq
994	 */
995	void rd_kafka_msgq_set_metadata (rd_kafka_msgq_t *rkmq, int32_t broker_id,
996	                                 int64_t base_offset, int64_t timestamp,
997	                                 rd_kafka_msg_status_t status) {
998	        rd_kafka_msg_t *rkm;
999	
1000	        TAILQ_FOREACH(rkm, &rkmq->rkmq_msgs, rkm_link) {
(gdb) 
1001	                rkm->rkm_broker_id = broker_id;
1002	                rkm->rkm_offset = base_offset++;
1003	                if (timestamp != -1) {
1004	                        rkm->rkm_timestamp = timestamp;
1005	                        rkm->rkm_tstype = RD_KAFKA_TIMESTAMP_LOG_APPEND_TIME;
1006	                }
1007	
1008	                /* Don't downgrade a message from any form of PERSISTED
1009	                 * to NOT_PERSISTED, since the original cause of indicating
1010	                 * PERSISTED can't be changed.
(gdb) 
1011	                 * E.g., a previous ack or in-flight timeout. */
1012	                if (unlikely(status == RD_KAFKA_MSG_STATUS_NOT_PERSISTED &&
1013	                             rkm->rkm_status != RD_KAFKA_MSG_STATUS_NOT_PERSISTED))
1014	                        continue;
1015	
1016	                rkm->rkm_status = status;
1017	        }
1018	}
1019	
1020	
(gdb) p rkm
$32 = (rd_kafka_msg_t *) 0x5c48e. <== LOOKS like a bad pointer that is causing the SIGSEGV
(gdb) p *rkmq
$33 = {
  rkmq_msgs = {
    tqh_first = 0x7f20dfd55a00, 
    tqh_last = 0x7f2165378648
  }, 
  rkmq_msg_cnt = 36, 
  rkmq_msg_bytes = 2964
}

Following the above TAILQ : This is point at which the TAILQ becomes correct :

(gdb) p *(rd_kafka_msg_t *)0x7f2165333600
$72 = {
  rkm_rkmessage = {
    err = RD_KAFKA_RESP_ERR_NO_ERROR, 
    rkt = 0x7f22813aec00, 
    partition = 0, 
    payload = 0x7f21653336a8, 
    len = 82, 
    key = 0x0, 
    key_len = 0, 
    offset = 3968079570, 
    _private = 0x0
  }, 
  rkm_link = {
    tqe_next = 0x7f20e4ece948,  <=== This pointer looks bogus 
    tqe_prev = 0x7f2165333248
  }, 
  rkm_flags = 458754, 
  rkm_tstype = RD_KAFKA_TIMESTAMP_CREATE_TIME, 
  rkm_timestamp = 1630278129376, 
  rkm_headers = 0x0, 
  rkm_status = RD_KAFKA_MSG_STATUS_PERSISTED, 
  rkm_broker_id = 0, 
  rkm_u = {
    producer = {
      ts_timeout = 378298848343, 
      ts_enq = 377998848343, 
      ts_backoff = 0, 
      msgid = 61217578, 
      last_msgid = 0, 
      retries = 0
    }, 
    consumer = {
      binhdrs = {
        len = 341726295, 
        data = 0x58027cb157, 
        _data = ""
      }
    }
  }
}

Following it gives us the invalid pointer that we were looking at above.

(gdb) p *(rd_kafka_msg_t *)0x7f20e4ece948
$73 = {
  rkm_rkmessage = {
    err = -459700152, 
    rkt = 0x7f2165333648, 
    partition = 99, 
    payload = 0x100000001, 
    len = 2772966126227816448, 
    key = 0x127, 
    key_len = 0, 
    offset = 3968079571, 
    _private = 0x2
  }, 
  rkm_link = {
    tqe_next = 0x5c48e,        <==== BAD pointer !!
    tqe_prev = 0x349a448e
  }, 
  rkm_flags = 1831163200, 
  rkm_tstype = (RD_KAFKA_TIMESTAMP_LOG_APPEND_TIME | unknown: 32544), 
  rkm_timestamp = 139785838495360, 
  rkm_headers = 0x0, 
  rkm_status = RD_KAFKA_MSG_STATUS_PERSISTED, 
  rkm_broker_id = 0, 
  rkm_u = {
    producer = {
      ts_timeout = 139779256412608, 
      ts_enq = 139779256412608, 
      ts_backoff = 0, 
      msgid = 0, 
      last_msgid = 0, 
      retries = 0
    }, 
    consumer = {
      binhdrs = {
        len = -454235712, 
        data = 0x7f20e4ece9c0, 
        _data = ""
      }
    }
  }
}

How to reproduce

This doesn't happen very often, so I am unsure how to reproduce it.

broker log excerpts

[2021-08-29 22:45:38,636] INFO Rolled new log segment for 'object-grading-updates-0' in 2 ms. (kafka.log.Log)
[2021-08-29 22:53:17,313] INFO [Group Metadata Manager on Broker 0]: Removed 0 expired offsets in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
[2021-08-29 23:02:51,330] WARN Failed to send SSL Close message  (org.apache.kafka.common.network.SslTransportLayer)
java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.kafka.common.network.SslTransportLayer.flush(SslTransportLayer.java:194)
	at org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:162)
	at org.apache.kafka.common.utils.Utils.closeAll(Utils.java:663)
	at org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59)
	at org.apache.kafka.common.network.Selector.doClose(Selector.java:584)
	at org.apache.kafka.common.network.Selector.close(Selector.java:575)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:404)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
	at kafka.network.Processor.poll(SocketServer.scala:500)
	at kafka.network.Processor.run(SocketServer.scala:435)
	at java.lang.Thread.run(Thread.java:748)
[2021-08-29 23:02:51,334] WARN Failed to send SSL Close message  (org.apache.kafka.common.network.SslTransportLayer)
java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.kafka.common.network.SslTransportLayer.flush(SslTransportLayer.java:194)
	at org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:162)
	at org.apache.kafka.common.utils.Utils.closeAll(Utils.java:663)
	at org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59)
	at org.apache.kafka.common.network.Selector.doClose(Selector.java:584)
	at org.apache.kafka.common.network.Selector.close(Selector.java:575)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:404)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
	at kafka.network.Processor.poll(SocketServer.scala:500)
	at kafka.network.Processor.run(SocketServer.scala:435)
	at java.lang.Thread.run(Thread.java:748)
[2021-08-29 23:02:51,336] WARN Failed to send SSL Close message  (org.apache.kafka.common.network.SslTransportLayer)
java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.kafka.common.network.SslTransportLayer.flush(SslTransportLayer.java:194)
	at org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:162)
	at org.apache.kafka.common.utils.Utils.closeAll(Utils.java:663)
	at org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59)
	at org.apache.kafka.common.network.Selector.doClose(Selector.java:584)
	at org.apache.kafka.common.network.Selector.close(Selector.java:575)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:404)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
	at kafka.network.Processor.poll(SocketServer.scala:500)
	at kafka.network.Processor.run(SocketServer.scala:435)
	at java.lang.Thread.run(Thread.java:748)
[2021-08-29 23:02:51,337] WARN Failed to send SSL Close message  (org.apache.kafka.common.network.SslTransportLayer)
java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.kafka.common.network.SslTransportLayer.flush(SslTransportLayer.java:194)
	at org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:162)
	at org.apache.kafka.common.utils.Utils.closeAll(Utils.java:663)
	at org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59)
	at org.apache.kafka.common.network.Selector.doClose(Selector.java:584)
	at org.apache.kafka.common.network.Selector.close(Selector.java:575)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:404)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
	at kafka.network.Processor.poll(SocketServer.scala:500)
	at kafka.network.Processor.run(SocketServer.scala:435)
	at java.lang.Thread.run(Thread.java:748)
[2021-08-29 23:02:51,336] WARN Failed to send SSL Close message  (org.apache.kafka.common.network.SslTransportLayer)
java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.kafka.common.network.SslTransportLayer.flush(SslTransportLayer.java:194)
	at org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:162)
	at org.apache.kafka.common.utils.Utils.closeAll(Utils.java:663)
	at org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59)
	at org.apache.kafka.common.network.Selector.doClose(Selector.java:584)
	at org.apache.kafka.common.network.Selector.close(Selector.java:575)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:404)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
	at kafka.network.Processor.poll(SocketServer.scala:500)
	at kafka.network.Processor.run(SocketServer.scala:435)
	at java.lang.Thread.run(Thread.java:748)
[2021-08-29 23:02:51,336] WARN Failed to send SSL Close message  (org.apache.kafka.common.network.SslTransportLayer)
java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.kafka.common.network.SslTransportLayer.flush(SslTransportLayer.java:194)
	at org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:162)
	at org.apache.kafka.common.utils.Utils.closeAll(Utils.java:663)
	at org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59)
	at org.apache.kafka.common.network.Selector.doClose(Selector.java:584)
	at org.apache.kafka.common.network.Selector.close(Selector.java:575)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:404)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
	at kafka.network.Processor.poll(SocketServer.scala:500)
	at kafka.network.Processor.run(SocketServer.scala:435)
	at java.lang.Thread.run(Thread.java:748)
[2021-08-29 23:02:51,337] WARN Failed to send SSL Close message  (org.apache.kafka.common.network.SslTransportLayer)
java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.kafka.common.network.SslTransportLayer.flush(SslTransportLayer.java:194)
	at org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:162)
	at org.apache.kafka.common.utils.Utils.closeAll(Utils.java:663)
	at org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59)
	at org.apache.kafka.common.network.Selector.doClose(Selector.java:584)
	at org.apache.kafka.common.network.Selector.close(Selector.java:575)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:404)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
	at kafka.network.Processor.poll(SocketServer.scala:500)
	at kafka.network.Processor.run(SocketServer.scala:435)
	at java.lang.Thread.run(Thread.java:748)
[2021-08-29 23:02:51,337] WARN Failed to send SSL Close message  (org.apache.kafka.common.network.SslTransportLayer)
java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.kafka.common.network.SslTransportLayer.flush(SslTransportLayer.java:194)
	at org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:162)
	at org.apache.kafka.common.utils.Utils.closeAll(Utils.java:663)
	at org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59)
	at org.apache.kafka.common.network.Selector.doClose(Selector.java:584)
	at org.apache.kafka.common.network.Selector.close(Selector.java:575)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:404)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
	at kafka.network.Processor.poll(SocketServer.scala:500)
	at kafka.network.Processor.run(SocketServer.scala:435)
	at java.lang.Thread.run(Thread.java:748)
[2021-08-29 23:02:51,337] WARN Failed to send SSL Close message  (org.apache.kafka.common.network.SslTransportLayer)
java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.kafka.common.network.SslTransportLayer.flush(SslTransportLayer.java:194)
	at org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:162)
	at org.apache.kafka.common.utils.Utils.closeAll(Utils.java:663)
	at org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59)
	at org.apache.kafka.common.network.Selector.doClose(Selector.java:584)
	at org.apache.kafka.common.network.Selector.close(Selector.java:575)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:404)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
	at kafka.network.Processor.poll(SocketServer.scala:500)
	at kafka.network.Processor.run(SocketServer.scala:435)
	at java.lang.Thread.run(Thread.java:748)
[2021-08-29 23:02:51,337] WARN Failed to send SSL Close message  (org.apache.kafka.common.network.SslTransportLayer)
java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.kafka.common.network.SslTransportLayer.flush(SslTransportLayer.java:194)
	at org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:162)
	at org.apache.kafka.common.utils.Utils.closeAll(Utils.java:663)
	at org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59)
	at org.apache.kafka.common.network.Selector.doClose(Selector.java:584)
	at org.apache.kafka.common.network.Selector.close(Selector.java:575)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:404)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
	at kafka.network.Processor.poll(SocketServer.scala:500)
	at kafka.network.Processor.run(SocketServer.scala:435)
	at java.lang.Thread.run(Thread.java:748)
[2021-08-29 23:02:51,342] WARN Failed to send SSL Close message  (org.apache.kafka.common.network.SslTransportLayer)
java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.kafka.common.network.SslTransportLayer.flush(SslTransportLayer.java:194)
	at org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:162)
	at org.apache.kafka.common.utils.Utils.closeAll(Utils.java:663)
	at org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59)
	at org.apache.kafka.common.network.Selector.doClose(Selector.java:584)
	at org.apache.kafka.common.network.Selector.close(Selector.java:575)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:404)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
	at kafka.network.Processor.poll(SocketServer.scala:500)
	at kafka.network.Processor.run(SocketServer.scala:435)
	at java.lang.Thread.run(Thread.java:748)
[2021-08-29 23:02:51,343] WARN Failed to send SSL Close message  (org.apache.kafka.common.network.SslTransportLayer)
java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.kafka.common.network.SslTransportLayer.flush(SslTransportLayer.java:194)
	at org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:162)
	at org.apache.kafka.common.utils.Utils.closeAll(Utils.java:663)
	at org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59)
	at org.apache.kafka.common.network.Selector.doClose(Selector.java:584)
	at org.apache.kafka.common.network.Selector.close(Selector.java:575)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:404)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
	at kafka.network.Processor.poll(SocketServer.scala:500)
	at kafka.network.Processor.run(SocketServer.scala:435)
	at java.lang.Thread.run(Thread.java:748)
[2021-08-29 23:02:51,341] WARN Failed to send SSL Close message  (org.apache.kafka.common.network.SslTransportLayer)
java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
	at sun.nio.ch.IOUtil.write(IOUtil.java:65)
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
	at org.apache.kafka.common.network.SslTransportLayer.flush(SslTransportLayer.java:194)
	at org.apache.kafka.common.network.SslTransportLayer.close(SslTransportLayer.java:162)
	at org.apache.kafka.common.utils.Utils.closeAll(Utils.java:663)
	at org.apache.kafka.common.network.KafkaChannel.close(KafkaChannel.java:59)
	at org.apache.kafka.common.network.Selector.doClose(Selector.java:584)
	at org.apache.kafka.common.network.Selector.close(Selector.java:575)
	at org.apache.kafka.common.network.Selector.pollSelectionKeys(Selector.java:404)
	at org.apache.kafka.common.network.Selector.poll(Selector.java:326)
	at kafka.network.Processor.poll(SocketServer.scala:500)
	at kafka.network.Processor.run(SocketServer.scala:435)
	at java.lang.Thread.run(Thread.java:748)
[2021-08-29 23:02:51,687] INFO [GroupCoordinator 0]: Member envoy-client-12a08372-b9fc-40ac-9162-e5706e959b4f in group pd-dme-envoy has failed, removing it from the group (kafka.coordinator.group.GroupCoordinator)
[2021-08-29 23:02:51,688] INFO [GroupCoordinator 0]: Preparing to rebalance group pd-dme-envoy with old generation 641 (__consumer_offsets-33) (kafka.coordinator.group.GroupCoordinator)
[2021-08-29 23:02:52,629] INFO [GroupCoordinator 0]: Member envoy-client-2e0fc0d9-ac9a-46d8-85e2-4142108c75d0 in group pd-dme-envoy has failed, removing it from the group (kafka.coordinator.group.GroupCoordinator)
[2021-08-29 23:02:53,085] INFO [GroupCoordinator 0]: Member envoy-client-d32fc654-6d4c-4479-9cbf-2d1cc01f2ab8 in group pd-dme-envoy has failed, removing it from the group (kafka.coordinator.group.GroupCoordinator)
[2021-08-29 23:02:53,438] INFO [GroupCoordinator 0]: Member envoy-client-17f93cc8-ded5-4e3f-8fce-b09549df9333 in group pd-dme-envoy has failed, removing it from the group (kafka.coordinator.group.GroupCoordinator)
[2021-08-29 23:02:53,448] INFO [GroupCoordinator 0]: Group pd-dme-envoy with generation 642 is now empty (__consumer_offsets-33) (kafka.coordinator.group.GroupCoordinator)
[2021-08-29 23:03:10,799] INFO [GroupCoordinator 0]: Preparing to rebalance group pd-dme-envoy with old generation 642 (__consumer_offsets-33) (kafka.coordinator.group.GroupCoordinator)
[2021-08-29 23:03:10,800] INFO [GroupCoordinator 0]: Stabilized group pd-dme-envoy generation 643 (__consumer_offsets-33) (kafka.coordinator.group.GroupCoordinator)
[2021-08-29 23:03:10,803] INFO [GroupCoordinator 0]: Assignment received from leader for group pd-dme-envoy for generation 643 (kafka.coordinator.group.GroupCoordinator)

Checklist

  • librdkafka version (release number or git tag): v1.7.0
  • Apache Kafka version: 0.11.0.1
  • librdkafka client configuration:
    producer: queue.buffering.max.messages=500000,message.send.max.retries=3,retry.backoff.ms=500
  • Operating system: CentOS7
  • Provide logs (with debug=.. as necessary) from librdkafka
  • Provide broker log excerpts
  • Critical issue

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions