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]
