Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
The latest Buf updates on your PR. Results from workflow CI / buf-check (pull_request).
|
|
Claude finished @alpe's task in 2m 44s —— View job PR Review: fix: startup races
OverviewThis PR correctly identifies and addresses a class of startup races in the HA sequencer path. The core fix — replacing the Bugs / Issues1. Timer goroutine leak in select {
case <-ctx.Done():
return ...
case <-time.After(backoff): // leaks a timer on context cancellation
backoff *= 2
}
2. Timer goroutine leak in timeoutCh = time.After(f.catchupTimeout)Same issue: if catchup completes before the timeout fires, the underlying goroutine leaks until the timer expires. Correctness Observations3. Dead loop in for i := signedHeader.Height() + 1; i < 2; i++ {After the first loop the 4. CAS + After Design / Architecture Notes5.
6. Leadership may change between
7. The final Minor / Style8. If 9. The 10. The check SummaryThe fundamental race fix ( |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #3172 +/- ##
==========================================
- Coverage 60.75% 60.74% -0.01%
==========================================
Files 117 117
Lines 11988 12047 +59
==========================================
+ Hits 7283 7318 +35
- Misses 3886 3903 +17
- Partials 819 826 +7
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Overview
E2E HA tests fail sometimes on a race when the leader is waiting for p2p sync complete on a fresh start.