forked from apache/kafka
-
Notifications
You must be signed in to change notification settings - Fork 57
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[LI-HOTFIX] Add API to support electing recommended leaders for parti…
…tions (#390) TICKET = LIKAFKA-45529 LI_DESCRIPTION = Sometimes, a leader host can become too busy to serve Fetch requests from followers within the default request timeout of 10s. The impact is that all followers experience the timeout and fall out of the ISR, resulting in UnderMinISR partitions. A proposed solution to this problem is to let the leader host request a leadership switch for the affected partitions. The leader host already knows what followers have been in the ISR, and thus can recommend a new leader to the controller. This PR is the 1st step toward that goal by adding a new API to support electing recommended leaders for partitions. Specifically, the PR includes the following changes adding support in the controller for electing the recommended leaders. The recommended leader must be alive and already in the ISR; changing the ElectLeadersRequest.json to add a new optional field that indicates the recommended leaders; exposing a new API in the KafkaAdminClient. EXIT_CRITERIA = We will likely propose this change as a KIP in upstream Kafka. Thus this hotfix can exit when the change is merged upstream and pulled in as part of a major release.
- Loading branch information
Showing
16 changed files
with
285 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.