spetz opened a new pull request, #3978: URL: https://github.com/apache/iggy/pull/3978
Metadata repair could backfill an operation below the sequencer frontier and still replace the checksum used to parent the next prepare. A promoted replica then wrote a higher operation whose parent skipped committed WAL entries. Recovery correctly rejected the interior chain break and refused to truncate a suffix that can hold committed operations, leaving every node that durably held the bad entry unable to restart. Resolve the repaired frontier in one place: walk the contiguous journal above the current head and update the sequencer and last_prepare_checksum together or not at all. Lower backfill yields no update. Gap closure reads the checksum from the journal header at the new head, so the frame that happened to close the gap cannot stamp its own checksum as the parent. The helper lives in consensus and both repair ingest paths use it. The partition path carried the same pattern, inert only while partition prepare checksums are structurally zero. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
