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

Stanislav Kozlovski resolved KAFKA-7968.
----------------------------------------
    Resolution: Duplicate

This is a duplicate of https://issues.apache.org/jira/browse/KAFKA-7959. 
Apologies for not realizing that was opened

> Delete leader epoch cache files with old message format versions
> ----------------------------------------------------------------
>
>                 Key: KAFKA-7968
>                 URL: https://issues.apache.org/jira/browse/KAFKA-7968
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 2.0.1
>            Reporter: Stanislav Kozlovski
>            Assignee: Stanislav Kozlovski
>            Priority: Major
>
> [KAFKA-7897 (Invalid use of epoch cache with old message format 
> versions)|https://issues.apache.org/jira/browse/KAFKA-7897] fixed a critical 
> bug where replica followers would inadequately use their leader epoch cache 
> for truncating their logs upon becoming a follower. [The root of the 
> issue|https://issues.apache.org/jira/browse/KAFKA-7897?focusedCommentId=16761049&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16761049]
>  was that a regression in KAFKA-7415 caused the leader epoch cache to be 
> populated upon becoming a follower, even if the message format was older.
> KAFKA-7897 fixed that problem by not updating the leader epoch cache if the 
> message format does not support it. It was merged all the way back to 1.1 but 
> due to significant branch divergence, the patches for 2.0 and below were 
> simplified. As said in the commit:
> Note this is a simplified fix than what was merged to trunk in #6232 since 
> the branches have diverged significantly. Rather than removing the epoch 
> cache file, we guard usage of the cache with the record version.
> This results in the same bug being hit at a different time. When the message 
> format gets upgraded to support the leader epoch cache, brokers start to make 
> use of it. Due to the previous problem, we still have the sparsely populated 
> epoch cache file present. This results in the same large truncations we saw 
> in KAFKA-7897.
> The key difference is that the patches for 2.1 and trunk *deleted* the 
> non-empty leader epoch cache files if the log message format did not support 
> it.
> We should update the earlier versions to do the same thing. That way, users 
> that have upgraded to 2.0.1 but are still using old message formats/protocol 
> will have their epochs cleaned up on the first roll that upgrades the 
> `inter.broker.protocol.version`



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to