Luke Chen created KAFKA-17866: --------------------------------- Summary: kraft.version is not updated after upgrading to MV 3.9 Key: KAFKA-17866 URL: https://issues.apache.org/jira/browse/KAFKA-17866 Project: Kafka Issue Type: Bug Affects Versions: 3.9.0 Reporter: Luke Chen
When upgrading old controllers to v3.9.0, we didn't update the kraft.version to 1, which causes it blocks the following controller addition/removal. Steps to reproduce: 1. format 1 controller node in MV 3.8: {code:java} bin/kafka-storage.sh format -t r0NrSlvGTqmZCtFtZ8tBIg -c config/kraft/controller1.properties --release-version 3.8 {code} 2. start up the controller 3. update the metadata version to 3.9: {code:java} bin/kafka-features.sh --bootstrap-controller localhost:9093 upgrade --metadata 3.9 or bin/kafka-features.sh --bootstrap-server localhost:9092 upgrade --feature kraft.version=1 {code} 4. format one additional controller to be expanded {code:java} bin/kafka-storage.sh format --cluster-id r0NrSlvGTqmZCtFtZ8tBIg --config config/kraft/controller2.properties --no-initial-controllers {code} 5. Try to add this node {code:java} bin/kafka-metadata-quorum.sh --command-config config/kraft/controller2.properties --bootstrap-controller localhost:9093 add-controller {code} It'll fail with: {code:java} org.apache.kafka.common.errors.UnsupportedVersionException: Cluster doesn't support adding voter because the kraft.version feature is 0 java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.UnsupportedVersionException: Cluster doesn't support adding voter because the kraft.version feature is 0 at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396) at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073) at org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:165) at org.apache.kafka.tools.MetadataQuorumCommand.handleAddController(MetadataQuorumCommand.java:431) at org.apache.kafka.tools.MetadataQuorumCommand.execute(MetadataQuorumCommand.java:147) at org.apache.kafka.tools.MetadataQuorumCommand.mainNoExit(MetadataQuorumCommand.java:81) at org.apache.kafka.tools.MetadataQuorumCommand.main(MetadataQuorumCommand.java:76) Caused by: org.apache.kafka.common.errors.UnsupportedVersionException: Cluster doesn't support adding voter because the kraft.version feature is 0 {code} Under this situation, I can't find any workaround to update kraft.version even if rebooting the node. -- This message was sent by Atlassian Jira (v8.20.10#820010)