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)