Skip to content

leader shutdown时有一定的概率触发no leader #529

@lhsoft

Description

@lhsoft

我们线上发版时会触发leader shutdown,观察会有小概率导致no leader,具体原因如下:
leader通过找到最大的next index来确定transfer leader的candidate,next index通过下面逻辑计算得到
next_index = r->_next_index - r->_flying_append_entries_size;
这里如果一个replicator已经发出去但没有收到ack,另一个没发出,但没发出的作为candidate,则这次transfer leader就会失败,导致短暂的no leader,等到下次选主恢复。

这里要修复的话,就需要日志多的节点再拒绝掉上一次vote后,能够识别出这次vote是transfer leader导致,尽快触发自身投票,减少no leader的时间

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions