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

INSERT, UPDATE, DELETE should ignore conflicts by default

    XMLWordPrintableJSON

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

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

              Dates

                Created:
                Updated:
                Resolved: