Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
When we started transaction on client node and closed cache , transaction is rolled back.
But tx state is still ACTIVE which causes unexpected exception when we try to commit it.
The expected exception is TransactionRollbackException.
Look at the following code:
public void testTxRollbackWhenCacheClosed() throws Exception { startGrid(0);// server node started client = true; IgniteEx clientNode = startGrid(1); IgniteCache cache = clientNode.createCache();// transactional cache is started IgniteTransactions transactions = clientNode.transactions(); Transaction tx = transactions.txStart(); cache.put(1, 1); multithreaded(cache::close, 1); tx.commit();// TransactionRollbackException expected, but NPE is thrown. }