-
Notifications
You must be signed in to change notification settings - Fork 748
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
Handle unknown head during attestation publishing #5010
Conversation
Waiting for this to be released as I'm seeing a lot of related errors. |
@dong77 While this error is annoying, fixing it will only marginally improve performance. If you see this, it means one of your BNs (the one that created the attestation) is ahead of one of your other BNs in terms of blocks imported. If you broadcast the attestation to both of them, then the one that created the attestation (which is "ahead") will process and publish the attestation just fine, while the other one (which is "behind") will log this error. With the change from this PR, both will process and publish and no errors will be logged. So it's just a bit of redundancy during publishing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The changes looks good to me! Just a few minor questions and an annoying unused
beta compiler error to fix!
Ignore previous comment (now deleted). I commented on the wrong issue. |
Is there a way to disable/hide this error? |
No |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
@mergify queue |
🛑 The pull request has been removed from the queue
|
@mergify unqueue |
✅ The pull request has been removed from the queue
|
@michaelsproul did you want to include this in the next release? just saw your comment in the description regarding needing further testing, so I've unqueued this for now |
@jimmygchen I'd like to include it. I think the current test demonstrates that it's working, and we'll get a few days to observe on testnets once we've merged |
@Mergifyio requeue |
✅ This pull request will be re-embarked automaticallyThe followup |
✅ The pull request has been merged automaticallyThe pull request has been merged automatically at f17fb29 |
Issue Addressed
Closes #4699
Proposed Changes
Reprocess attestations received via HTTP which reference unknown blocks. This should reduce false positive logs on BNs used in multi-BN setups, where the VC might send our BN an attestation from another BN before we've finished processing the head block. This applies both to Vouch and the Lighthouse v4.6.0+ VC using
--broadcast attestations
.In order to avoid blocking a beacon processor thread waiting for the reprocessing to complete, the implementation does the first round of processing in the beacon processor, then uses a
join
to wait for the reprocess futures from the Tokio executor. In practice this should be efficient, as Tokio will park the task until all its reprocess futures are ready, and the beacon processor can continue to churn through work.