Skip to content

Blobs by range failures should penalize the peer#6517

Closed
eserilev wants to merge 1 commit intosigp:unstablefrom
eserilev:penalize-peer-for-missing-components
Closed

Blobs by range failures should penalize the peer#6517
eserilev wants to merge 1 commit intosigp:unstablefrom
eserilev:penalize-peer-for-missing-components

Conversation

@eserilev
Copy link
Copy Markdown
Member

Issue Addressed

Users in discord reported syncing issues on holesky

Oct 18 11:53:06.002 WARN Syncing deposit contract block cache    est_blocks_remaining: initializing deposits, service: slot_notifier
Oct 18 11:53:06.860 WARN Blobs missing in response to range request, slot: 2775009, block_root: 0xaf15bfd1aa990db73f83f204737c536ec581bac3c18a4b9074ef226acf727c92, service: beacon

Digging deeper into the logs it seems like LH keeps trying to query the same peer for the same range of blocks and blobs. It seems this peer just simply doesn't have the blobs available. The user reports that LH is connected to at least 30 peers so we should be trying a different peer after this failure occurs.

Proposed Changes

This PR updates our logic to penalize the peer for not having blobs available within the DA window. Alternatively find a way to retry the by range requests with a different peer.

The deneb spec mentions that

Peers that are unable to reply to blob sidecar requests within the range blob_serve_range SHOULD respond with error code 3: ResourceUnavailable. Such peers that are unable to successfully reply to this range of requests MAY get descored or disconnected at any time.

Note: The above requirement implies that nodes that start from a recent weak subjectivity checkpoint MUST backfill the local blobs database to at least the range blob_serve_range to be fully compliant with BlobSidecarsByRange requests.

Note: Although clients that bootstrap from a weak subjectivity checkpoint can begin participating in the networking immediately, other peers MAY disconnect and/or temporarily ban such an un-synced or semi-synced client.

So it seems that penalizing the peer is spec compliant

@eserilev eserilev added work-in-progress PR is a work-in-progress syncing labels Oct 20, 2024
@eserilev eserilev changed the title Add TODOs Blobs by range failures should penalize the peer Oct 20, 2024
@dapplion
Copy link
Copy Markdown
Collaborator

I would like to go for a more complete solution like this one

@dapplion
Copy link
Copy Markdown
Collaborator

| Error::MissingBlobs
| Error::MissingCustodyColumns

The root of the issue are these lines here that consider MissingBlobs an internal (not penalizable) fault

@eserilev
Copy link
Copy Markdown
Member Author

Thanks for the additional info Lion, closing in favor of #6321

@eserilev eserilev closed this Oct 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

syncing work-in-progress PR is a work-in-progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants