I've go a test, which illustrates transaction commit fail when multiple threads try to commit. As i said, it happenes in mvcc stage.
So we should create a special lock mechanism for all transaction methods. In a separate ticket. пн, 3 июл. 2017 г. в 16:26, Yakov Zhdanov <yzhda...@apache.org>: > >Consider thread *Th1* started transaction *Tx1*, done some actions, and is > >calling commit (GridNearTxLocal#commit -> commitNearTxLocalAsync). And > >concurrently thread *Th2 *is calling the same commit on* Tx1*. > > Alexey, this looks weird to me. IMO, if we talk about proper implementation > you should detect all cases of illegal access (e.g. commit from thread not > owning the transaction). > > --Yakov > -- *Best Regards,* *Kuznetsov Aleksey*