Gert van Dijk created KAFKA-7924:
------------------------------------
Summary: Kafka broker does not list nodes first ~ 30s after startup
Key: KAFKA-7924
URL: https://issues.apache.org/jira/browse/KAFKA-7924
Project: Kafka
Issue Type: Bug
Affects Versions: 2.1.0
Environment: Clean Docker environment, very simple everything single
node.
Reporter: Gert van Dijk
Steps to reproduce:
# Start single Zookeeper instance.
# Start single Kafka instance.
# Validate that the line {noformat}INFO [KafkaServer id=0] started
(kafka.server.KafkaServer){noformat} is printed.
# Connect using a Kafka client +with debug logging enabled+, right after seeing
that line, _do not wait_.
# Observe that it is connected to the Kafka broker just fine, but that the
broker lists an empty lists of nodes: {noformat}Updating cluster metadata to
Cluster(id = xxx, nodes = [], [...]{noformat}
# Keep watching for about 30 seconds, seeing that log entry popping up hundreds
of times. Nothing happens in Kafka/Zookeeper logs in the meantime, but then
suddenly the Kafka server start reporting nodes to the connected client:
{noformat}[...] nodes = [kafka:9092 (id: 0 rack: null)], [...]
o.apache.kafka.clients.NetworkClient - [AdminClient clientId=adminclient-1]
Initiating connection to node [...]{noformat} and it connects all fine.
My expectation is that it should list itself rightaway after listening on the
network as a broker. It should not take ~ 30 seconds for a Kafka client to be
blocked waiting and timing out first.
Use case: I'm trying to create topics in a CI/CD pipeline and spinning up a
clean Kafka for that. Right after it's started, it should be possible to create
topics using an AdminClient, but currently experiencing {{TimeoutException:
Timed out waiting for a node assignment}} errors unless I put a {{sleep 30}}
between observing a Kafka reportedly ready and starting the topic creation
process. Not very ideal.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)