Thanks for the additional context regarding AlterIsrResponse.

Jason wrote:
> In regard to the naming of `IsLeaderRecovering`, I agree it still seems a
> bit awkward. I kind of liked the idea of turning it into a `PartitionState`
> field instead. That would also address the inconsistent type in the
> `PartitionChangeRecord`.

Okay. The current KIP only supports two election recovery states
because the type used is a boolean. I am going to extend it to use an
int8 and support the following states:

1. ELECTION_RECOVERY - Notify to the leader that it should recover the
local log. It indicates to the followers that the leader is
recovering.
2. ELECTION_RECOVERED - Notify to the leader that recovery is not
needed. It indicates to the follower that the leader has recovered.

In the current KIP is the partition state invariant is
"!InElectionRecovery || size(ISR) == 1". With the above change the
invariant will be "ElectionState == ELECTION_RECOVERED || size(ISR) ==
1".

Thanks!
-José

Reply via email to