[
https://issues.apache.org/jira/browse/KAFKA-13621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
José Armando García Sancio resolved KAFKA-13621.
------------------------------------------------
Resolution: Duplicate
> Resign leader on network partition
> ----------------------------------
>
> Key: KAFKA-13621
> URL: https://issues.apache.org/jira/browse/KAFKA-13621
> Project: Kafka
> Issue Type: Sub-task
> Reporter: Jose Armando Garcia Sancio
> Assignee: Jose Armando Garcia Sancio
> Priority: Major
>
> h1. Motivation
> If the current leader A at epoch X gets partition from the rest of the
> quorum, quorum voter A will stay leader at epoch X. This happens because
> voter A will never receive an request from the rest of the voters increasing
> the epoch. These requests that typically increase the epoch of past leaders
> are BeginQuorumEpoch and Vote.
> In addition if voter A (leader at epoch X) doesn't get partition from the
> rest of the brokers (observer in the KRaft protocol) the brokers will never
> learn about the new quorum leader. This happens because 1. observers learn
> about the leader from the Fetch response and 2. observer send a Fetch request
> to a random leader if the Fetch request times out.
> Neither of these two scenarios will cause the broker to send a request to a
> different voter because the leader at epoch X will never send a different
> leader in the response and the broker will never send a Fetch request to a
> different voter because the Fetch request will never timeout.
> h1. Proposed Changes
> In this scenario the A, the leader at epoch X, will stop receiving Fetch
> request from the majority of the voters. Voter A should resign as leader if
> the Fetch request from the majority of the voters is old enough. A reasonable
> value for "old enough" is the Fetch timeout value.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)