You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ivan Pavlukhin (JIRA)" <ji...@apache.org> on 2019/02/15 13:35:00 UTC
[jira] [Commented] (IGNITE-9470) MVCC TX: Mvcc transactions should
throw proper exception when rolled back.
[ https://issues.apache.org/jira/browse/IGNITE-9470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16769315#comment-16769315 ]
Ivan Pavlukhin commented on IGNITE-9470:
----------------------------------------
There is a number of tests ignored referring to current ticket. Let's check and unignore tests which pass.
> MVCC TX: Mvcc transactions should throw proper exception when rolled back.
> --------------------------------------------------------------------------
>
> Key: IGNITE-9470
> URL: https://issues.apache.org/jira/browse/IGNITE-9470
> Project: Ignite
> Issue Type: Bug
> Components: jdbc, mvcc, odbc
> Reporter: Roman Kondakov
> Assignee: Ivan Pavlukhin
> Priority: Major
> Labels: Muted_test, mvcc_stabilization_stage_1, transactions
> Fix For: 2.8
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)