[ 
https://issues.apache.org/jira/browse/IGNITE-3537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15754539#comment-15754539
 ] 

Semen Boikov commented on IGNITE-3537:
--------------------------------------

Some more details:
implementation of ignite data structures internally uses special system caches, 
need make sure that transaction on these system caches do not intersect with 
transactions stared by user. Test pseudo-code (also 
GridCachePartitionedAtomicSequenceTxSelfTest.testIsolation can be used as 
example):
{noformat}
        IgniteAtomicLong atomicLong = ignite.atomicLong();
        
        try (Transaction tx = ignite(0).transactions().txStart()) {
            atomicLong.incrementAndGet();

            cache.put(1, 1);

            tx.rollback();
        }
        
        assertEquals(1L, atomicLong.get()); // Tx was rolled back, but 
IgniteAtomicLong increment should be committed.
{noformat}

Need add tests for IgniteSet, IgniteQueue, IgniteSemaphore, IgniteLock, 
IgniteCountDownLatch, IgniteAtomicStamped, IgniteAtomicReference, 
IgniteAtomicLong. We already have test classes for all these data structures 
(e.g. IgniteAtomicLongApiAbstractSelfTest), need just add new testcases into 
these class.

> Add tests checking that data structures work inside user transactions
> ---------------------------------------------------------------------
>
>                 Key: IGNITE-3537
>                 URL: https://issues.apache.org/jira/browse/IGNITE-3537
>             Project: Ignite
>          Issue Type: Task
>          Components: data structures
>            Reporter: Semen Boikov
>            Assignee: Milap Wadhwa
>            Priority: Minor
>              Labels: newbie
>
> Need create tests to check that Ignite data structures work inside user 
> transaction. Now data structures should use independent transactions, test 
> should jus check that there are no exceptions.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to