You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Stepan Pilschikov (JIRA)" <ji...@apache.org> on 2018/10/26 07:54:00 UTC

[jira] [Created] (IGNITE-10014) MVCC usability: Improve description for concurrent operation exceptions

Stepan Pilschikov created IGNITE-10014:
------------------------------------------

             Summary: MVCC usability: Improve description for concurrent operation exceptions
                 Key: IGNITE-10014
                 URL: https://issues.apache.org/jira/browse/IGNITE-10014
             Project: Ignite
          Issue Type: Improvement
          Components: mvcc
    Affects Versions: 2.7
            Reporter: Stepan Pilschikov
             Fix For: 2.8


autocommit=false

{code}
create table test(id int primary key, field_int int,  field_var varchar(50)) with "template=partitioned, ATOMICITY=TRANSACTIONAL_SNAPSHOT";
insert into test(id, field_int, field_var) values (1, 1, 'test_1');

first user:   `select * from test`
second user:  `update test set field_var = 'updated by second user' where id = 1`
second user:  `commit`
second user:  `select * from test`
first user:   `update test set field_var = 'updated by first user' where id = 1` -> java.sql.SQLException: Cannot serialize transaction due to write conflict...
first user:   `select * from test` -> java.sql.SQLException: Transaction is already completed.
first user:   `commit` -> java.sql.SQLException: Failed to execute DDL statement
first user:   `select * from test`
second user:  `select * from test`
second user:  `commit`
second user:  `select * from test`
{code}

Now unclear to get that i should use rollback instead of commit after "Transaction is already completed" exception



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)