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]

Reply via email to