Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
masih opened this issue Mar 27, 2025 · 1 comment

Comments

@masih
Copy link
Member

masih commented Mar 27, 2025

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.

@BigLep
Copy link
Member

BigLep commented Apr 1, 2025

Per internal 2025-03-28 slack conversation, it wasn't deemed critical as an immediate followup/cleanup after F3 activation. As a result, I have reassigned its milestone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

2 participants