[ 
https://issues.apache.org/jira/browse/KAFKA-18856?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17929864#comment-17929864
 ] 

黃竣陽 edited comment on KAFKA-18856 at 2/24/25 5:28 PM:
------------------------------------------------------

I conducted the following test on a 3.9 broker joining a 4.0 controller. If we 
format Kafka 4.0 with MetadataVersion 3.9-IV0, the 3.9 controller can 
successfully join the 4.0 controller. The steps are
Kafka 4.0 controller 
{code:java}
bin/kafka-storage.sh format --release-version 3.9-IV0 --standalone -t 
$KAFKA_CLUSTER_ID -c config/server.properties 
bin/kafka-server-start.sh config/server.properties{code}
Kafka 3.9 broker
{code:java}
bin/kafka-storage.sh format --no-initial-controllers -t 9uyUnSE9T46OAm4rhlmpRw  
-c config/kraft/broker.properties
bin/kafka-server-start.sh config/kraft/broker.properties {code}
The result is 
{code:java}
./bin/kafka-metadata-quorum.sh --bootstrap-controller localhost:9093 describe 
--status
ClusterId:              9uyUnSE9T46OAm4rhlmpRw
LeaderId:               1
LeaderEpoch:            1
HighWatermark:          103
MaxFollowerLag:         0
MaxFollowerLagTimeMs:   0
CurrentVoters:          [{"id": 1, "directoryId": "zax3CYNFS9mGt8b_2DpoOw", 
"endpoints": ["CONTROLLER://localhost:9093"]}]
CurrentObservers:       [{"id": 3, "directoryId": 
"bKQBgNvIHRzLQ7a8d68WfA"}]{code}
but I use MetadataVersion 4.0-IV0, I also have the same error message, The 
steps are
Kafka 4.0 controller
{code:java}
bin/kafka-storage.sh format --standalone -t $KAFKA_CLUSTER_ID -c 
config/server.properties 
bin/kafka-server-start.sh config/server.properties{code}
Kafka 3.9 broker
{code:java}
bin/kafka-storage.sh format --no-initial-controllers -t 9uyUnSE9T46OAm4rhlmpRw 
-c config/kraft/broker.properties
bin/kafka-server-start.sh config/kraft/broker.properties {code}
Error message is 
{code:java}
[2025-02-25 01:05:06,530] ERROR Encountered metadata loading fault: Unhandled 
error initializing new publishers 
(org.apache.kafka.server.fault.LoggingFaultHandler)
org.apache.kafka.image.writer.UnwritableMetadataException: Metadata has been 
lost because the following could not be represented in metadata.version 
3.0-IV1: feature flag(s): group.version, transaction.version {code}
 


was (Author: JIRAUSER305187):
I conducted the following test on a 3.9 broker joining a 4.0 controller. If we 
format Kafka 4.0 with MetadataVersion 3.9-IV0, the 3.9 controller can 
successfully join the 4.0 controller. The steps are
Kafka 4.0 controller 
{code:java}
bin/kafka-storage.sh format --release-version 3.9-IV0 --standalone -t 
$KAFKA_CLUSTER_ID -c config/server.properties 
bin/kafka-server-start.sh config/server.properties{code}
Kafka 3.9 broker
{code:java}
bin/kafka-storage.sh format --no-initial-controllers -t 9uyUnSE9T46OAm4rhlmpRw  
-c config/kraft/broker.properties
bin/kafka-server-start.sh config/kraft/broker.properties {code}
The result is 
{code:java}
./bin/kafka-metadata-quorum.sh --bootstrap-controller localhost:9093 describe 
--status
ClusterId:              9uyUnSE9T46OAm4rhlmpRw
LeaderId:               1
LeaderEpoch:            1
HighWatermark:          103
MaxFollowerLag:         0
MaxFollowerLagTimeMs:   0
CurrentVoters:          [{"id": 1, "directoryId": "zax3CYNFS9mGt8b_2DpoOw", 
"endpoints": ["CONTROLLER://localhost:9093"]}]
CurrentObservers:       [{"id": 3, "directoryId": 
"bKQBgNvIHRzLQ7a8d68WfA"}]{code}
but I use MetadataVersion 4.0, I also have the same error message, The steps are
Kafka 4.0 controller
{code:java}
bin/kafka-storage.sh format --standalone -t $KAFKA_CLUSTER_ID -c 
config/server.properties 
bin/kafka-server-start.sh config/server.properties{code}
Kafka 3.9 broker
{code:java}
bin/kafka-storage.sh format --no-initial-controllers -t 9uyUnSE9T46OAm4rhlmpRw 
-c config/kraft/broker.properties
bin/kafka-server-start.sh config/kraft/broker.properties {code}
Error message is 
{code:java}
[2025-02-25 01:05:06,530] ERROR Encountered metadata loading fault: Unhandled 
error initializing new publishers 
(org.apache.kafka.server.fault.LoggingFaultHandler)
org.apache.kafka.image.writer.UnwritableMetadataException: Metadata has been 
lost because the following could not be represented in metadata.version 
3.0-IV1: feature flag(s): group.version, transaction.version {code}
 

> 3.9 broker unable to join dynamic quorum with 4.0 controller
> ------------------------------------------------------------
>
>                 Key: KAFKA-18856
>                 URL: https://issues.apache.org/jira/browse/KAFKA-18856
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: TengYao Chi
>            Assignee: TengYao Chi
>            Priority: Major
>
> Test step:
>  * format 4.0 controller /w controller.properties & standalone
>  ** bin/kafka-storage.sh format --standalone -t "dAtBluZORiuJEKV2uSWB2Q" -c 
> config/controller.properties
>  * start 4.0 controller
>  * init 3.9 broker /w kraft/broker.properties & no-initial-controllers 
>  ** bin/kafka-storage.sh format -t "dAtBluZORiuJEKV2uSWB2Q" --config 
> config/kraft/broker.properties -N
>  * start 3.9 broker
> error message:
> {code:java}
> [2025-02-24 23:13:21,271] ERROR Encountered metadata loading fault: Unhandled 
> error initializing new publishers 
> (org.apache.kafka.server.fault.LoggingFaultHandler)
> org.apache.kafka.image.writer.UnwritableMetadataException: Metadata has been 
> lost because the following could not be represented in metadata.version 
> 3.0-IV1: feature flag(s): group.version, transaction.version
>     at 
> org.apache.kafka.image.writer.ImageWriterOptions.handleLoss(ImageWriterOptions.java:94)
>     at 
> org.apache.kafka.image.FeaturesImage.handleFeatureLevelNotSupported(FeaturesImage.java:108)
>     at org.apache.kafka.image.FeaturesImage.write(FeaturesImage.java:88)
>     at org.apache.kafka.image.MetadataImage.write(MetadataImage.java:153)
>     at 
> org.apache.kafka.image.loader.MetadataLoader.initializeNewPublishers(MetadataLoader.java:296)
>     at 
> org.apache.kafka.image.loader.MetadataLoader.lambda$scheduleInitializeNewPublishers$0(MetadataLoader.java:267)
>     at 
> org.apache.kafka.queue.KafkaEventQueue$EventContext.run(KafkaEventQueue.java:132)
>     at 
> org.apache.kafka.queue.KafkaEventQueue$EventHandler.handleEvents(KafkaEventQueue.java:215)
>     at 
> org.apache.kafka.queue.KafkaEventQueue$EventHandler.run(KafkaEventQueue.java:186)
>     at java.base/java.lang.Thread.run(Thread.java:1583)
> ^C[2025-02-24 23:13:21,658] INFO Terminating process due to signal SIGINT 
> (org.apache.kafka.common.utils.LoggingSignalHandler)
> [2025-02-24 23:13:21,660] INFO App info kafka.server for 2 unregistered 
> (org.apache.kafka.common.utils.AppInfoParser) {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to