Fredrik Lysén created KAFKA-19188:
-------------------------------------
Summary: kafka-topics.sh --describe output for
message.format.version is inconsistent immediately after cluster restart when
not set at topic level
Key: KAFKA-19188
URL: https://issues.apache.org/jira/browse/KAFKA-19188
Project: Kafka
Issue Type: Bug
Components: admin
Affects Versions: 3.9.0
Environment: Amazon Linux 2 (EC2 instances)
Reporter: Fredrik Lysén
When running {{kafka-topics.sh --describe}} to inspect topic configuration
immediately after restarting a Kafka broker, the {{}}
{code:java}
message.format.version{code}
{{}} property is inconsistently present in the output.
*Steps to reproduce:*
# Set up a 3-broker Kafka cluster.
# On brokers 1 and 2, set {{log.message.format.version=3.2}} in
{{{}server.properties{}}}.
# On broker 3 (the one you will use as {{{}--bootstrap-server{}}}), do *not*
set {{{}log.message.format.version{}}}.
# Create a topic without setting {{message.format.version}} at the topic level.
# Restart the cluster.
# Immediately after restart, run:
{code:java}
kafka-topics.sh --bootstrap-server <broker-3>:9092 --describe --command-config
<config> {code}
* Observe the output for the topic configuration.
*Expected behavior:*
The {{message.format.version}} property should be reported consistently (either
always present or always absent) in the topic config output, reflecting the
inherited value from the broker configuration when not set at the topic level.
*Actual behavior:*
Immediately after restart, the output for the topic sometimes omits
{{message.format.version}} in the config list, or shows it inconsistently
between runs, even though the brokers' configs are stable and the cluster is
healthy after a short delay.
*Additional notes:*
* After waiting for the cluster to stabilize, the config output becomes
consistent.
* This inconsistency may cause confusion for operational monitoring or
automation tools that depend on the output of {{{}kafka-topics.sh
--describe{}}}.
*Example output:*
{code:java}
# Immediately after restart:
Topic: example.topic Configs:
min.insync.replicas=2,segment.bytes=536870912,unclean.leader.election.enable=false
# After cluster stabilizes:
Topic: example.topic Configs:
min.insync.replicas=2,segment.bytes=536870912,message.format.version=3.2,unclean.leader.election.enable=false
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)