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
Fetch data columns from multiple peers instead of just supernodes (#14977)
* Extract the block fetcher's peer selection logic for data columns so it can be used in both by range and by root requests
* Refactor data column sidecar request to send requests to multiple peers instead of supernodes
* Remove comment
* Remove unused method
* Add tests for dmissiblePeersForDataColumns
* Extract data column fetching into standalone functions
* Remove AdmissibleCustodyGroupsPeers and replace the final call with requests to multiple peers
* Apply suggestions from code review
Co-authored-by: Manu NALEPA <[email protected]>
* Wrap errors
* Use cached peedas.Info and properly convert custody groups to custody columns
* Rename filterPeersForRangeReq
* Preserve debugging descriptions when filtering out peers
* Remove unused functions.
* Initialize nested maps
* Fix comment
* First pass at retry logic for data column requests
* Select fresh peers for each retry
* Return an error if there are requested columns remaining
* Adjust errors
* Improve slightly the godoc.
* Improve wrapped error messages.
* `AdmissiblePeersForDataColumns`: Use value or `range`.
* Remove `convertCustodyGroupsToDataColumnsByPeer` since used only once.
* Minor fixes.
* Retry until we run out of peers
* Delete from the map of peers instead of filtering
* Remove unneeded break
* WIP: TestRequestDataColumnSidecars
* `RequestDataColumnSidecars`: Move the happy path in the for loop.
* Convert the peer ID to a node ID instead of using peer.EnodeID
* Extract AdmissiblePeersForDataColumns from a method into a function and use it (instead of a mock) in TestRequestDataColumnSidecars
* Track data column requests in tests to compare vs expectations
* Run gazelle
* Clean up test config changes so other tests don't break
* Clean up comments
* Minor changes.
* Add tests for peers that don't respond with all requested columns
* Respect MaxRequestDataColumnSidecars
---------
Co-authored-by: Manu NALEPA <[email protected]>
Co-authored-by: Manu NALEPA <[email protected]>
0 commit comments