Hi all, Jason and I discussed this offline. At a high-level I have made the following changes to the KIP.
1. IBP will be used to enable this feature and to determine which version of LeaderAndIsr and AlterPartition will be used. 2. The LeaderRecoveryState field for LeaderAndIsr and AlterPartition is not marked as ignorable. If the controller sees an AlterPartition is a version of 0, it will assume that the leader has recovered. If the leader gets a RECOVERING for the LeaderRecoveryState it will attempt to recover the partition irrespective of the IBP. When it has recovered, depending on the IBP it will send the right version of AlterPartition. KIP Diff: https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=173082256&selectedPageVersions=19&selectedPageVersions=18 Thanks, -José