richiebachala commented on issue #2195:
URL: https://github.com/apache/iceberg-go/issues/2195#issuecomment-6435839543

   @badalprasadsingh, are you planning to send the fix for this? If you haven't 
started, I'd like to take it, using the approach you outlined:
   
   1. Narrow the guard in `snapshot_producers.go` (`len(sp.deletedDeleteFiles) 
> 0 || len(sp.deletedDVsByRef) > 0`) so `noReplay` is set only when a DV is 
removed **and its referenced data file stays live**.
   2. The copy-on-write path already registers a rewrite validator for the 
files it removes. Before making merge-on-read whole-file drops replayable, 
register the same validation for them, so a DV committed concurrently on a 
dropped file is rejected rather than orphaned on replay.
   3. Tests in `no_replay_removals_test.go`:
      - A CoW Delete/Overwrite of a file that has a DV succeeds against a 
concurrent unrelated append.
      - A DV replaced while its file stays live is still non-replayable (the 
existing regression stays green).
      - A MoR whole-file drop plus a concurrent DV on that file fails 
validation instead of leaving an orphan.
   
   If you'd rather do it yourself, I can review and add a commit-path 
conformance case instead.
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to