tikv / tikv/pd

operator: unnecessary transfer-leader in move-leader without joint consensus

Open
#7,872 0 comments 0 reactions 0 assignees View on GitHub
type/enhancement
Dominant language
Go
Stars
1.2k
Forks
783
Avg merge
5d 21h
Merged PRs (30d)
36

Description

## Enhancement Task

When attempting to move a leader from store 1 to store 6 using the CreateMoveLeaderOperator with joint consensus, an operator is created with the following steps:
```
steps:[0:{add learner peer 13 on store 6}, 1:{use joint consensus, promote learner peer 13 on store 6 to voter, demote voter peer 1 on store 1 to learner}, 2:{transfer leader from store 1 to store 6}, 3:{leave joint state, promote learner peer 13 on store 6 to voter, demote voter peer 1 on store 1 to learner}, 4:{remove peer on store 1}]
```
This process results in the leader being transferred only once.

Without joint consensus, the operator created follows these steps:
```
steps:[0:{add learner peer 13 on store 6}, 1:{promote learner peer 13 on store 6 to voter}, 2:{transfer leader from store 1 to store 2}, 3:{remove peer on store 1}, 4:{transfer leader from store 2 to store 6}]
```
which will only transfer leader twice.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.