split blocksync reactor into 2 modes.#3511
Conversation
PR SummaryHigh Risk Overview BlockPool and per-height requesters drop Node wiring passes sync deps through Reviewed by Cursor Bugbot for commit 4c1559e. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #3511 +/- ##
==========================================
- Coverage 59.04% 58.22% -0.83%
==========================================
Files 2199 2129 -70
Lines 182096 173896 -8200
==========================================
- Hits 107513 101243 -6270
+ Misses 64933 63668 -1265
+ Partials 9650 8985 -665
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 3206044. Configure here.
| return err | ||
| switch update.Status { | ||
| case p2p.PeerStatusUp: | ||
| s.channel.Send(wrap(&pb.StatusRequest{}), update.NodeID) |
There was a problem hiding this comment.
Peer-up handler sends StatusRequest instead of StatusResponse
Medium Severity
On PeerStatusUp, the old code sent a StatusResponse (advertising local height to the new peer), enabling the remote node to immediately learn this node's height. The new code sends a StatusRequest instead, which asks the peer for their height. While this node still learns about the peer, the peer no longer receives an immediate height advertisement. Peers that rely on receiving a StatusResponse on connection (e.g., pre-giga nodes during transition) won't learn this node's height until the next periodic StatusRequest broadcast (every 10 seconds).
Reviewed by Cursor Bugbot for commit 3206044. Configure here.
There was a problem hiding this comment.
this will be a minor temporary regression until upgrade completes.


Autobahn nodes will need to be able to send pre-giga blocks to pre-giga nodes during transition period (so that pre-giga nodes can blocksync to the upgrade height). However all the remaining parts of the blocksync reactor should be disabled. This pr extracts the tendermint-only blocksync logic to syncController which is optional part of the blocksync reactor. Additionally I have