Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-3710

INSERT, UPDATE, DELETE should ignore conflicts by default

    Details

      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

            Activity

              People

              • Assignee:
                mjacobs Matthew Jacobs
                Reporter:
                dtsirogiannis Dimitris Tsirogiannis
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: