diegomrsantos commented on PR #4130: URL: https://github.com/apache/iggy/pull/4130#issuecomment-5804537265
@hubcio, I’ve pushed fixes for the replicated restart defect and the `poll_floor` issue, with regression tests. The local suites pass, but I kept finding additional edge cases while working through the changes, and I’m concerned about how much recovery machinery this fix now requires. The PR adds almost 3,000 lines, roughly 80% of which are tests and fixtures. We can simplify some repetition, but the larger concern is the production design. `purge.reset` remembers both unfinished cleanup and an operation cutoff that remains after cleanup completes. Keeping that cutoff consistent when operation history is lost or replaced requires additional fencing, history selection, rebasing and rollback handling. This overlaps with the concern @krishvishal raised in #3793 about persisting locally chosen cutoffs, and his recommendation to order purge through the partition’s own consensus history. Your preference in #4145 for preserving message numbering also seems promising. Old bookmarks would remain distinguishable from positions in new messages, removing much of the cleanup problem. Those approaches address complementary concerns, while #4266 covers the broader conditions for safely resuming service. The repeated discoveries are why I’ve been raising verification tools. The regressions give evidence for the cases they exercise, but I’m still uncomfortable treating them as sufficient confidence in the overall recovery behavior. Adding another testing framework would not resolve the underlying contract questions. I know we agreed to finish the concrete fix here and discuss the broader design separately. Given how much the implementation has grown, I’d like to revisit that separation before introducing more durable state that a subsequent design may replace. My preference now is to keep this PR as a draft, stop expanding it, and coordinate the design decision with the existing proposal in #3793. If we agree to pursue that direction, I’d be comfortable closing this PR as superseded and carrying its useful regressions into the replacement. The independent journal fixes could also be extracted. Would you be comfortable taking that approach, or is there an urgent need for a fix that preserves the current behavior before the design work can land? -- 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]
