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

Guozhang Wang commented on KAFKA-7174:
--------------------------------------

My original comment is about using a separate error code to indicate version 
probing, and later we did add such error code which later extends to 
`REBALANCE_NEEDED` and just recently we removed it in 
https://github.com/apache/kafka/pull/8596. So I think we can just resolve this 
ticket

> Improve version probing of subscription info
> --------------------------------------------
>
>                 Key: KAFKA-7174
>                 URL: https://issues.apache.org/jira/browse/KAFKA-7174
>             Project: Kafka
>          Issue Type: Improvement
>          Components: streams
>            Reporter: Ted Yu
>            Priority: Major
>              Labels: compatibility
>
> During code review for KAFKA-5037, [~guozhang] made the following suggestion:
> Currently the version probing works as the following:
> when leader receives the subscription info encoded with a higher version that 
> it can understand (e.g. the leader is on version 3, while one of the 
> subscription received is encode with version 4), it will send back an empty 
> assignment with the assignment encoded with version 3, and also 
> latestSupportedVersion set to 3.
> when the member receives the assignment, it checks if latestSupportedVersion 
> is smaller than the version it used for encoding the sent subscription (i.e. 
> the above logic). If it is smaller, then it means that leader cannot 
> understand, in this case, version 4. It will then set the flag and then 
> re-subscribe but with a down-graded encoding format of version 3.
> NOW with PR #5322, we can let leader to clearly communicate this error via 
> the error code, and upon receiving the assignment, if the error code is 
> VERSION_PROBING, then the member can immediately know what happens, and hence 
> can simplify the above logic. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to