Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-9470

MVCC TX: Mvcc transactions should throw proper exception.

    XMLWordPrintableJSON

    Details

      Description

      When MVCC transaction is rolled back due to a write conflict it throws CacheException with "Mvcc version mismatch" message. This behavior violates Ignite transactions API. Instead it should throw TransactionRollbackException with a clear message like a "Transaction has been aborted due to a write conflict (Please try again.)"

      It is also need to propogate this changes to JDBC and ODBC components and fix mvcc tests.

       

      In some tests we have to repeat tx operation in case of version conflict. Most likely, we can rely to caused-exception with some meaningful  type (e.g. MvccVersionMismatchException) to repeat operation.

      Pay attention that tx could be aborted at different stages, but we should fail consistently. Some examples:
      1. Before next operation in tx started.
      2. While operation in tx is in progress.
      3. When tx.commit() is called.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Pavlukhin Ivan Pavlukhin
                Reporter:
                rkondakov Roman Kondakov
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m