You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: WAL re-queues buffer on write failure instead of dropping entries
flushPending/commit previously freed the write buffer before confirming
I/O success. If writeAll failed, entries were permanently lost. Now:
- writeAll failure: re-queues the buffer (prepended before any new
writes) so the background flusher retries on the next cycle
- sync failure: still advances synced_lsn since data is in the file
(kernel page cache), preventing the WAL from permanently stalling.
Error is logged (flushPending) or returned to caller (commit).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0 commit comments