Skip to content

Clear chain broadcast queue of messages from an instance once it is terminated #930

Open
@masih

Description

@masih

During an instance, messages are sent to chainexchange for broadcast. Each of these messages contain the chain to be broadcasted along with the instance ID to which it belongs. The validation logic in chainexchange ignores any messages that belong to previous instances by checking the progress of gpbft.

There is a gap in time where an instance is finalised but its chain re-broadcast schedule keeps firing for the same instance. This time is made up of simple execution order, and instance start backoff. As a result, partial message manager continues to request publishing of chains that are ignored by the chain exchange due to pubsub valiadtion failure.

We already have signals built into f3 host to clean up old state once an instance finalises. This clean up should be expanded to also clean up queued chain exchange publish request that have become redundant.

In terms of criticality, this rebroadcast attempt is harmless. It just produces noise in logs and increase in "ignored" metrics which could cause confusion.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions