JanKaul commented on PR #2620:
URL: https://github.com/apache/iceberg-rust/pull/2620#issuecomment-5366874140

   Hey folks, thanks for all the proposals and discussion — I'd really like to 
see this land too. On the open MergeCache-per-action vs MergingSnapshotProducer 
question, I would like to give my two cents and maybe provide a different 
perspective.
   
   If we start from "a MergeCache in each action" and actually build it out:
   
   1. We'd want a single MergeCache struct shared across action types, rather 
than re-rolling it per action.
   2. It has to hold the staging delta (added_*, deleted_*, 
data_sequence_number) and the stateful ManifestFilterManagers — the cache alone 
isn't enough.
   
   At that point the fields are, field-for-field, what the MSP already holds. 
And the conflict-validation stays as stateless free functions in either design 
— it's recomputed against the refreshed base every attempt, so it doesn't 
belong in the struct regardless. So that half of the concern is orthogonal to 
this decision.
   
   Which leaves one real question: are add_file / delete_file / 
filter_existing_manifests / commit methods on the struct or free functions 
taking it as an argument?
   
   I think that's the main question that needs to be answered and I think it's 
largely organizational.


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