[ 
https://issues.apache.org/jira/browse/KAFKA-18865?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

José Armando García Sancio updated KAFKA-18865:
-----------------------------------------------
    Description: 
Handling of kraft.version is a bit tricky.

The kraft.version that is exposed by the kraft client is potentially an 
uncommitted value.

In some cases kraft is interested in the latest value (irrespective of 
committed vs uncommitted) but in some case kraft should use the latest commit 
value.

For example, kraft should use the latest committed value when exposing it 
outside of the kraft client and when determining which version of quorum-state 
to serialize and persist. But KRaft should use the latest value (irrespective 
of committed vs uncommitted) when determining which control version to persist 
to the log itself.
 * Uses of latest version
 ** Most of kraft internal logic. E.g. went to write VotersRecord
 ** Controller's use of kraft version. Needed to fence or deny registration 
that don't support the latest version
 * Uses of committed version
 ** ApiVersion response
 ** Version to use when writing quorum-state file

  was:
Handling of kraft.version is a bit tricky.

The kraft.version that is exposed by the kraft client is potentially an 
uncommitted value.

In some cases kraft is interested in the latest value (irrespective of 
committed vs uncommitted) but in some case kraft should use the latest commit 
value.

For example, kraft should use the latest committed value when exposing it 
outside of the kraft client and when determining which version of quorum-state 
to serialize and persist. But KRaft should use the latest value (irrespective 
of committed vs uncommitted) when determining which control version to persist 
to the log itself.


> Improve KRaft handling of kraft.version
> ---------------------------------------
>
>                 Key: KAFKA-18865
>                 URL: https://issues.apache.org/jira/browse/KAFKA-18865
>             Project: Kafka
>          Issue Type: Sub-task
>          Components: kraft
>            Reporter: José Armando García Sancio
>            Assignee: José Armando García Sancio
>            Priority: Major
>
> Handling of kraft.version is a bit tricky.
> The kraft.version that is exposed by the kraft client is potentially an 
> uncommitted value.
> In some cases kraft is interested in the latest value (irrespective of 
> committed vs uncommitted) but in some case kraft should use the latest commit 
> value.
> For example, kraft should use the latest committed value when exposing it 
> outside of the kraft client and when determining which version of 
> quorum-state to serialize and persist. But KRaft should use the latest value 
> (irrespective of committed vs uncommitted) when determining which control 
> version to persist to the log itself.
>  * Uses of latest version
>  ** Most of kraft internal logic. E.g. went to write VotersRecord
>  ** Controller's use of kraft version. Needed to fence or deny registration 
> that don't support the latest version
>  * Uses of committed version
>  ** ApiVersion response
>  ** Version to use when writing quorum-state file



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

Reply via email to