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 <borokna...@cloudera.com>

Reply via email to