Uh oh!
There was an error while loading. Please reload this page.
Skip mixed-mode assertion for replayed monitor updates - #4506
Conversation
When a node restarts and switches from async to sync persistence, the in-flight monitor updates from the previous session are replayed as background events. These replayed updates are resubmitted to the Watch which now returns Completed, while earlier in-flight updates are still queued as background events. This triggered a false panic in the assertion that guards against out-of-order monitor update completion. Track whether an update is a replay (already present in in_flight_monitor_updates) and skip the assertion for replays, since the remaining in-flight updates will be submitted by subsequent background events. AI tools were used in preparing this commit.
👋 Thanks for assigning @TheBlueMatt as a reviewer! |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@## main #4506 +/- ##
==========================================
- Coverage 86.18% 86.17% -0.02%
==========================================
Files 160 160 Lines 107536 107537 +1 Branches 107536 107537 +1 ==========================================
- Hits 92680 92668 -12 - Misses 12231 12243 +12 - Partials 2625 2626 +1
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:
|
Good — both paths call I've thoroughly reviewed the entire diff. The change is logically sound:
No issues found. No issues found. The PR correctly fixes a panic that occurs during startup replay when switching from async to sync persistence across a restart. The |
ldk-reviews-bot
commented
Mar 23, 2026
👋 The first review has been submitted! Do you think this PR is ready for a second reviewer? If so, click here to assign a second reviewer. |
Already identified in #4436 (comment), but not implemented in the final PR.
Fixes fuzz strings: