Aleksey Plekhanov created IGNITE-11697:
------------------------------------------
Summary: Suspended optimistic transaction automatically resumes to last thread after a timeout.
Key: IGNITE-11697
URL:
https://issues.apache.org/jira/browse/IGNITE-11697 Project: Ignite
Issue Type: Bug
Affects Versions: 2.7
Reporter: Aleksey Plekhanov
This leads to unpredictable results from a user's point of view.
Reproducer:
{code:java}
public class IgniteTxSuspendAndTimeoutTest extends GridCommonAbstractTest {
@Test
public void testSuspendAndTimeout() throws Exception {
Ignite ignite = startGrid(0);
IgniteCache cache = ignite.createCache(new CacheConfiguration<>().setName("c").setAtomicityMode(TRANSACTIONAL));
Transaction tx1 = ignite.transactions().txStart(OPTIMISTIC, TransactionIsolation.REPEATABLE_READ, 100, 0);
cache.put(1, 1);
tx1.suspend();
assertNull(cache.get(1)); // Pass here.
doSleep(200);
assertNull(cache.get(1)); // Fail here. But we don't expect any explicitly running transaction at this point.
}
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)