HIVE-28366: Iceberg: Concurrent Insert and IOW produce incorrect result
What changes were proposed in this pull request?
Introduces the locking to serialize some operation execution
Why are the changes needed?
Fixes the data correctness in case of concurrent Insert and IOW
Does this PR introduce any user-facing change?
No
Is the change a dependency upgrade?
No
How was this patch tested?
ITests
@deniskuzZ I am not sure if I am catching this right, isn't the problem just that for IOW we used an older snapshotId, why are we going into locking and stuff, Can we just not do some validations during the commit that there is no new snapshot, rather than locking and going sequential.
Any pointers how other engines like spark handle concurrency in such cases?
Impala doesn't handle this. there is no validation in Iceberg API to prevent lost-update in case of IOW and Insert
Quality Gate passed
Issues
11 New issues
0 Accepted issues
Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code