jasonf20 commented on PR #9230:
URL: https://github.com/apache/iceberg/pull/9230#issuecomment-1859879328

   Hi @rdblue. Thanks for info. 
   
   Good to know about the manifest compaction conflict case. I was looking for 
a way the list could be partially cleared and this answers that. 
   
   I have pushed another commit returning to my original fix with the 
`hasDelete` optimization. 
   
   Some more notes/questions:
   
   1. The transaction test I added did fail before the fix since the cleanup is 
called with `EMPTY_SET` anyway if the commit fails and the manifest list files 
are also cleaned up in `SnapshotProducer::cleanAll()`. The manifest lists being 
cleaned up required adding `forceReApply` fix and the manifest files are fixed 
by the change in `MergingSnapshotProducer`. I think this fix is still relevant 
as the test fails without it. Removing either of the fixes causes the test to 
fail. 
   
   2. I understand that calling `commit()` is only allowed by transaction in 
theory, but the API doesn't prevent this currently and I think it's safer to 
fix it for now. The only change that is specifically for this use case is the 
`forceReApply` I added to the transaction, the other changes are needed 
regardless. If we decide to block this at some point in the future the tests I 
added can be modified to verify that they get an invalid usage exception.
   
   What do you think?
   
   


-- 
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: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to