Skip to content

fixed autorestart cooldown#2887

Merged
pompon0 merged 11 commits intomainfrom
gprusak-cooldown
Feb 17, 2026
Merged

fixed autorestart cooldown#2887
pompon0 merged 11 commits intomainfrom
gprusak-cooldown

Conversation

@pompon0
Copy link
Contributor

@pompon0 pompon0 commented Feb 13, 2026

There was a semantic mismatch between blocksync sending at most 1 message to the restartCh, and WaitForQuitSignals which ignored messages until cooldown has passed. I think that cooldown in blocksync logic was exactly trying to avoid sending messages when WaitForQuitSignals could have ignored them, which is a very fragile way of doing things. This PR removes cooldown from WaitForQuitSignals, simply delegating the cooldown logic to blocksync and makes the signal nonblocking and idempotent.

@github-actions
Copy link

github-actions bot commented Feb 13, 2026

The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedFeb 17, 2026, 10:32 AM

@codecov
Copy link

codecov bot commented Feb 13, 2026

Codecov Report

❌ Patch coverage is 30.61224% with 34 lines in your changes missing coverage. Please review.
✅ Project coverage is 57.20%. Comparing base (243cc2a) to head (c6b72d7).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
sei-cosmos/server/start.go 0.00% 16 Missing ⚠️
sei-tendermint/cmd/tendermint/commands/run_node.go 0.00% 9 Missing ⚠️
sei-cosmos/server/util.go 70.00% 0 Missing and 3 partials ⚠️
sei-tendermint/test/e2e/node/main.go 0.00% 2 Missing ⚠️
sei-tendermint/cmd/tendermint/main.go 0.00% 1 Missing ⚠️
sei-tendermint/internal/statesync/reactor.go 50.00% 1 Missing ⚠️
sei-tendermint/node/public.go 50.00% 1 Missing ⚠️
sei-tendermint/rpc/test/helpers.go 0.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2887      +/-   ##
==========================================
- Coverage   57.22%   57.20%   -0.03%     
==========================================
  Files        2093     2093              
  Lines      171771   171755      -16     
==========================================
- Hits        98294    98249      -45     
- Misses      64701    64724      +23     
- Partials     8776     8782       +6     
Flag Coverage Δ
sei-chain 52.67% <20.40%> (-0.01%) ⬇️
sei-cosmos 48.15% <26.92%> (-0.04%) ⬇️
sei-db 68.72% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
sei-tendermint/config/db.go 100.00% <ø> (ø)
sei-tendermint/internal/blocksync/reactor.go 61.56% <100.00%> (+0.11%) ⬆️
sei-tendermint/node/node.go 59.24% <100.00%> (+0.27%) ⬆️
sei-tendermint/node/seed.go 46.93% <ø> (+1.06%) ⬆️
sei-tendermint/cmd/tendermint/main.go 0.00% <0.00%> (ø)
sei-tendermint/internal/statesync/reactor.go 70.98% <50.00%> (+0.42%) ⬆️
sei-tendermint/node/public.go 52.38% <50.00%> (+2.38%) ⬆️
sei-tendermint/rpc/test/helpers.go 77.27% <0.00%> (-3.01%) ⬇️
sei-tendermint/test/e2e/node/main.go 0.00% <0.00%> (ø)
sei-cosmos/server/util.go 63.37% <70.00%> (-5.23%) ⬇️
... and 2 more

... and 27 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Collaborator

@masih masih left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a bigger change than I was expecting: it fixes the bug discussed in Slack, and fundamentally changes the behaviour of the node. In that, after this change the process errors out instead of softly restarting the reactor in-process.

This is clearly simpler, but it means that without an external process supervisor there is no "restart" after self-remediation. The process simply dies.

I probably would have broken this into two PRs, just for the sake of release notes: one to fix the clear bug regarding restart trigger during cooldown, and one to remove it. At the very least this needs a mention in the next release notes for 6.3 patch release. Cc @philipsu522

No blockers.

@pompon0 pompon0 requested a review from philipsu522 February 13, 2026 14:49
Copy link
Collaborator

@masih masih left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No blockers. Left couple of comments that are worth addressing, either here or in follow up PRs.

@pompon0 pompon0 changed the title removed autorestart cooldowns fixed autorestart cooldown Feb 17, 2026
@pompon0 pompon0 enabled auto-merge (squash) February 17, 2026 10:34
@pompon0 pompon0 merged commit 8fc1d5b into main Feb 17, 2026
41 of 42 checks passed
@pompon0 pompon0 deleted the gprusak-cooldown branch February 17, 2026 10:45
@seidroid
Copy link

seidroid bot commented Feb 17, 2026

Created backport PR for release/v6.3:

Please cherry-pick the changes locally and resolve any conflicts.

git fetch origin backport-2887-to-release/v6.3
git worktree add --checkout .worktree/backport-2887-to-release/v6.3 backport-2887-to-release/v6.3
cd .worktree/backport-2887-to-release/v6.3
git reset --hard HEAD^
git cherry-pick -x 8fc1d5b9f36d09cf5e991687f8bd7bda4f04c5bc
git push --force-with-lease

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants