You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Maxim Muzafarov (Jira)" <ji...@apache.org> on 2019/10/02 15:47:02 UTC
[jira] [Updated] (IGNITE-10014) MVCC usability: Improve description
for concurrent operation exceptions
[ https://issues.apache.org/jira/browse/IGNITE-10014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Maxim Muzafarov updated IGNITE-10014:
-------------------------------------
Fix Version/s: (was: 2.8)
> MVCC usability: Improve description for concurrent operation exceptions
> -----------------------------------------------------------------------
>
> Key: IGNITE-10014
> URL: https://issues.apache.org/jira/browse/IGNITE-10014
> Project: Ignite
> Issue Type: Task
> Components: mvcc
> Affects Versions: 2.7
> Reporter: Stepan Pilschikov
> Priority: Minor
>
> 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
(v8.3.4#803005)