Zoltan Borok-Nagy has uploaded this change for review. (
http://gerrit.cloudera.org:8080/20999
Change subject: IMPALA-12787: Concurrent DELETE and UPDATE operations on
Iceberg tables can be problematic
......................................................................
IMPALA-12787: Concurrent DELETE and UPDATE operations on Iceberg tables can be
problematic
If an UPDATE operation runs concurrently with a DELETE operation, and
the DELETE commits first, then the UPDATE can revive deleted rows. This
is because only RowDelta.validateNoConflictingDataFiles() is called, but
RowDelta.validateNoConflictingDeleteFiles() is not. Therefore, the
UPDATE operation ignores the concurrently written delete files.
This patch adds RowDelta.validateNoConflictingDeleteFiles() to UPDATE
operations.
Testing
* added a stress test to validate concurrent DELETE and UPDATE
operations
Change-Id: I9e581ea17fa8f6ccd9c87aaad1281bb694079f6e
---
M fe/src/main/java/org/apache/impala/service/IcebergCatalogOpExecutor.java
M tests/stress/test_update_stress.py
2 files changed, 119 insertions(+), 7 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/99/20999/1
--
To view, visit http://gerrit.cloudera.org:8080/20999
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9e581ea17fa8f6ccd9c87aaad1281bb694079f6e
Gerrit-Change-Number: 20999
Gerrit-PatchSet: 1
Gerrit-Owner: Zoltan Borok-Nagy <[email protected]>