You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While testing with multiple beacon client implementations when we use same beacon node endpoint for each charon node, it has been found that when a peer broadcasts duty data from core/bcast component it gets an error somewhat similar to PriorAttestationKnown. This happens because some peer in the cluster has sent the duty data (attestation/block) first and when other peers send the same data they get this error. Following is a case where it happens with Lighthouse beacon node on prater:
In first screenshot we can see that node2 has successfully broadcasted its attestation to lighthouse Beacon Node while other 3 nodes failed to do so.
Second screenshot is from Lighthouse logs, where you all can see that it gives error showing reason as: PriorAttestationKnown
Proposed solution
These types of errors should be handled in core/bcast from different implementations of beacon nodes. Since attestation is broadcasted successfully to beacon chain, this shouldn't be an error. Solution may look like:
err = b.eth2Cl.SubmitAttestations(ctx, []*eth2p0.Attestation{&att.Attestation})
if isKnownAttestationError(err) {
// Assume this is a race with a peer in the cluster.
err = nil
}
if err == nil {
log.Info(ctx, "Attestation successfully submitted to beacon node",
z.Any("delay", b.delayFunc(duty.Slot)),
)
}
The text was updated successfully, but these errors were encountered:
Catch and ignore lighthouse non-idempotent error. This follows the example set inside goeth2client (but only used for failover in multi-client setup).
category: bug
ticket: #777
Problem to be solved
While testing with multiple beacon client implementations when we use same beacon node endpoint for each charon node, it has been found that when a peer broadcasts duty data from core/bcast component it gets an error somewhat similar to PriorAttestationKnown. This happens because some peer in the cluster has sent the duty data (attestation/block) first and when other peers send the same data they get this error. Following is a case where it happens with Lighthouse beacon node on prater:
![Screenshot 2022-07-08 at 11 44 30 AM](https://user-images.githubusercontent.com/37813203/178014819-383e3be1-2512-4840-b2dc-2cc617cd146a.png)
![Screenshot_from_2022-07-08_11-44-06](https://user-images.githubusercontent.com/37813203/178015054-f20d2363-1747-45dc-8ac7-53c4289307d2.png)
In first screenshot we can see that node2 has successfully broadcasted its attestation to lighthouse Beacon Node while other 3 nodes failed to do so.
Second screenshot is from Lighthouse logs, where you all can see that it gives error showing reason as: PriorAttestationKnown
Proposed solution
These types of errors should be handled in core/bcast from different implementations of beacon nodes. Since attestation is broadcasted successfully to beacon chain, this shouldn't be an error. Solution may look like:
The text was updated successfully, but these errors were encountered: