Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
9187eae
test(consensus): restore real timeout ticker in TestReactorValidatorS…
lklimek Aug 25, 2026
b7687b4
fix(consensus): bound catch-up block-part resends to one pass per int…
lklimek Aug 26, 2026
f15fe14
fix(consensus): budget catch-up passes by missing parts, not bit-arra…
lklimek Aug 26, 2026
da7ddea
fix(consensus): fix the catch-up pass budget against peer bitmap swaps
lklimek Aug 27, 2026
e01f593
fix(consensus): end a catch-up pass that cannot send
lklimek Aug 27, 2026
21f57a8
fix(consensus): close catch-up pass gaps thepastaclaw flagged as stil…
lklimek Aug 27, 2026
a0e5828
perf(consensus): avoid a full bit-array copy to count missing catch-u…
lklimek Aug 27, 2026
25da4c2
fix(consensus): honor catch-up send failures, close height-advance ev…
lklimek Aug 27, 2026
1eb7bfd
docs(consensus): fix stale catch-up comment in dataGossipHandler
lklimek Aug 27, 2026
d8e9ea8
fix(consensus): propagate the real send error from syncProposalBlockPart
lklimek Aug 27, 2026
5978b27
Merge remote-tracking branch 'origin/v1.7-dev' into fix/flaky-reactor…
lklimek Aug 27, 2026
7961a44
fix(consensus): arm catch-up retry deadline when a peer's height adva…
lklimek Aug 27, 2026
845a74f
test(consensus): pin the height-advance throttle bug and fix stale/we…
lklimek Aug 27, 2026
4fb6fcd
fix(consensus): share one clock between msgGossiper and its peerGossi…
lklimek Aug 27, 2026
fe5083e
docs(consensus): correct dataGossipHandler's stale catch-up rate-limi…
lklimek Aug 27, 2026
5c9b3a0
docs(config): cross-reference PeerGossipSleepDuration's coupling to t…
lklimek Aug 27, 2026
21cbf7e
perf(consensus): skip the missing-part scan while a catch-up pass is …
lklimek Aug 27, 2026
0245484
fix(consensus): close an open catch-up pass when the peer reports it …
lklimek Aug 28, 2026
0bde26d
docs(consensus): reclassify the missing==0 mid-pass fix as CPU-amplif…
lklimek Aug 28, 2026
765a37a
fix(consensus): end a catch-up pass when a block-store read panics
lklimek Aug 28, 2026
4d92801
fix(consensus): don't throttle a genuinely-advancing peer's next catc…
lklimek Aug 28, 2026
6eff091
fix(consensus): start the catch-up quiet gap after the send, not befo…
lklimek Sep 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions internal/consensus/reactor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -559,16 +559,24 @@ func TestReactorValidatorSetChanges(t *testing.T) {
{height: 10, count: 2, operation: addValsOp},
{height: 17, count: 2, operation: removeValsOp},
}
// The network needs a real timeout ticker: it recovers from a missing or late
// proposal only through the timeoutPropose / timeoutPrecommitWait round change,
// and mockTicker discards every timeout but the first.
gen := consensusNetGen{
cfg: cfg,
nPeers: nPeers,
nVals: nVals,
appFunc: newKVStoreFunc(t),
tickerFun: newMockTickerFunc(true),
tickerFun: newTickerFunc(),
validatorUpdates: updates,
consensusParams: factory.ConsensusParams(func(cp *types.ConsensusParams) {
cp.Timeout.Propose = 2 * time.Second
cp.Timeout.Vote = 1 * time.Second
// Seven nodes gossiping in one process under the race detector need far
// more wall clock per round than production does. These timeouts only
// fire when the network stalls; tighter ones make a loaded runner
// abandon rounds it would have completed, so it churns instead of
// converging.
cp.Timeout.Propose = 5 * time.Second
cp.Timeout.Vote = 2 * time.Second
}),
}
states, genDoc, _, validatorSetUpdates := gen.generate(ctx, t)
Expand Down
Loading