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

TengYao Chi commented on KAFKA-18992:
-------------------------------------

Hey, I want to point out that this issue might be more complex than just an 
output problem.

In short, `kraft.version=1` doesn't have a clear definition for users.
If we start a static quorum using 4.0 bytecode and then describe the cluster, 
we get `kraft.version=0` (SupportedMinVersion: 0, SupportedMaxVersion: 1, 
FinalizedVersionLevel: 0).
After upgrading to `kraft.version=1` and describing the cluster again, we get 
`kraft.version=1` (SupportedMinVersion: 0, SupportedMaxVersion: 1, 
FinalizedVersionLevel: 1).

This information suggests to users that we can use the dynamic quorum feature, 
but that's not actually the case. We'll get an exception if we try to add a 
voter to the quorum because the quorum is still static.

We could also start with a dynamic quorum from the beginning, and when we 
describe the cluster, we'll get `kraft.version=1`.

This is confusing - how do users understand this difference?
I suggest we should have a clear definition for `kraft.version=1` before 
addressing this issue.
IMHO, since we can't actually change a static quorum to a dynamic quorum by 
setting `kraft.version=1`, we should disable the upgrade option if the user is 
still using a static quorum.

> kafka-features.sh wronly output `upgraded kraft.version to 1`
> -------------------------------------------------------------
>
>                 Key: KAFKA-18992
>                 URL: https://issues.apache.org/jira/browse/KAFKA-18992
>             Project: Kafka
>          Issue Type: Bug
>            Reporter: Luke Chen
>            Assignee: TengYao Chi
>            Priority: Major
>
> When using static quorum and upgraded to v4.0, the upgrade command showed 
> `kraft.version was upgraded to 1.`, while the describe output is correctly 
> showed the FinalizedVersionLevel is 0.
>  
> {code:java}
> > bin/kafka-features.sh --bootstrap-server localhost:9094 upgrade 
> > --release-version 4.0
> group.version was upgraded to 1.
> kraft.version was upgraded to 1.
> metadata.version was upgraded to 25.
> transaction.version was upgraded to 2.
> > bin/kafka-features.sh --bootstrap-server localhost:9094 describe
> Feature: eligible.leader.replicas.version    SupportedMinVersion: 0    
> SupportedMaxVersion: 1    FinalizedVersionLevel: 0    Epoch: 3331
> Feature: group.version    SupportedMinVersion: 0    SupportedMaxVersion: 1    
> FinalizedVersionLevel: 1    Epoch: 3331
> Feature: kraft.version    SupportedMinVersion: 0    SupportedMaxVersion: 1    
> FinalizedVersionLevel: 0    Epoch: 3331
> Feature: metadata.version    SupportedMinVersion: 3.3-IV3    
> SupportedMaxVersion: 4.0-IV3    FinalizedVersionLevel: 4.0-IV3    Epoch: 3331
> Feature: transaction.version    SupportedMinVersion: 0    
> SupportedMaxVersion: 2    FinalizedVersionLevel: 2    Epoch: 3331 {code}



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

Reply via email to