Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
Impala 2.6.0
Description
Currently, when an INSERT/UPDATE/DELETE/UPSERT stmt into a Kudu table encounters an error, the query fails but any rows that were inserted remain. The IGNORE keyword was added to avoid failing the query on certain errors (e.g. key already exists), but this doesn't work for all types of errors (e.g. nulls in non-nullable cols, or inserting w/ keys where there are no range partitions). Until Kudu can support the ability to roll back multi-row transactions, we will not be able to roll the entire statement back. However, the behavior that the query may fail part of the way through isn't useful and we should at least simplify the existing behavior rather than provide extra knobs.
We should remove the IGNORE option for these statements and instead always ignore on conflicts. When there is support in Kudu to support transactions, we can offer more traditional behavior, e.g. isolation levels.
Attachments
Issue Links
- is related to
-
IMPALA-7015 Insert into Kudu table returns with Status OK even if there are Kudu errors
- Open
-
IMPALA-10465 Improve Kudu DML error logging in Impala
- Resolved