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)

Reply via email to