Skip to content

Add consensus client health checks (or rework existing status handling) #773

@karen-sarkisyan

Description

@karen-sarkisyan

Problem

Currently if Consensus client fails to synchronize or otherwise fatally fails, it can't notify the rest of the app, and the app keeps running. PR #772 fixes the most immediate problem. And RPC requests will still fail to be handled with outOfSync error which is good, but at given setup it can't force Helios to completely shut itself down or restart consensus client. So it just keeps running while being implicitly unusable.

Suggestions

We already have ConsensusSyncStatus enum and a channel exposing it but it is only used in wait_synced method. We could make Node check this status and make a force shutdown or just panic when it fails, potentially initiating several retries first.

Other suggestions welcome too.

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