lighthouse icon indicating copy to clipboard operation
lighthouse copied to clipboard

Fetch custody columns in range sync

Open dapplion opened this issue 1 year ago • 0 comments

Issue Addressed

Part of

  • https://github.com/sigp/lighthouse/issues/4983

Allows nodes to fulfill their custody requirements during forward sync and backfill sync.

Proposed Changes

  • Some changes on the boilerplate to follow the same ordering as other protocols (usually by_range first then by_root)

  • Update handle_data_columns_by_range_request handler to use terminate_response_stream

  • Rename BlocksAndBlobsRequestInfo to RangeBlockComponentsRequest and:

    • handle multiple requests of columns
    • new into_responses_with_custody_columns function with strict matching to produce RpcBlocks

Note / warning: Custody lookup sync is able to retry individual column requests. Range sync is not. However both costudy range sync and costudy lookup suffer from:

  • Not having peers on a single column of interest is a hard error that will fail the entire request
  • Use all connected peers to decide what peer to fetch from, instead of using the set of peers grouped in that batch

dapplion avatar May 09 '24 06:05 dapplion