Fix for #7212 Call engine_getBlobs as soon as receiving a valid data_column_sidecar from gossip
Issue Addressed
#7212 Call engine_getBlobs as soon as receiving a valid data_column_sidecar from gossip
Proposed Changes
Copied how blobs are fetched when a block is gossiped. Test in progress, and code will be refactored to merge common code between fetching logics from block and column gossips
Additional Info
Please find the comments below
Lock while fetching from EL yet enabled
@SunnysidedJ I added a commit based on your branch to illustrate my suggestion https://github.com/sigp/lighthouse/commit/6fe3c5bc2a372ab1a90dd976f81c16915a904590
Let me know if you disagree with the approach. Feel free to cherry-pick the commit to this PR
Some required checks have failed. Could you please take a look @SunnysidedJ? 🙏
Thinking about this again, I have some thoughts about whether this would materially help reduce block delays
- The fetch EL blobs operation no longer compute proofs, and it's now a very fast operation.
- We would still have to wait for the block to arrive before it can be imported.
The diff doesn't look too bad though. I think we'd have to also avoid calling EL multiple times, which if exists, may worsen the race condition we currently have - there are many concurrent paths that lead to block import - if we do this we'd have to track carefully to ensure we don't attempt multiple imports.
- reconstruction
- gossip data columns
- EL getblobs
#7493 greatly reduces the likelihood of this from happening, but does not completely prevent it (issue here https://github.com/sigp/lighthouse/issues/6439 ). If we do go down this path to trigger getBlobs from gossip data column, it would increase the chance of race condition and we should definitely try to avoid duplicate processing & imports - which will add complexity - so it might be worth weighing the trade-offs here.
Hi @SunnysidedJ, this pull request has been closed automatically due to 30 days of inactivity. If you’d like to continue working on it, feel free to reopen at any time.
Hi @SunnysidedJ, this pull request has been closed automatically due to 30 days of inactivity. If you’d like to continue working on it, feel free to reopen at any time.