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

              Pavlukhin Ivan Pavlukhin
              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