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)

Reply via email to