Skip to content

Implement nuraft system_exit #852

@yuwmao

Description

@yuwmao

When nuraft identifies an unrecoverable critical case, it will call our system_exit callback. Currently, we only print a log which is meaningless and lead to the system stuck all the time.
Here is a concrete case:
When a follower recovers from the network issue, it attempts to request pre-vote, but it is rejected by the other peers. After rejected by quorum > 20 times, it tries to reconnect to leader. However it doesn't know who is leader and goes into system_exit.
So if we can restart the raft server which will reset all the state, it will becomes self-recoverable.

Whether we can safely restart the raft server without affecting other raft group needs more investigation and tests.

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