Repository: ignite
Updated Branches:
  refs/heads/ignite-8446 0b8cdfdfa -> 5a5e618ae


IGNITE-8446 Ability to check and completely fill transactions on creation

Signed-off-by: Anton Vinogradov <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5a5e618a
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5a5e618a
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5a5e618a

Branch: refs/heads/ignite-8446
Commit: 5a5e618ae798889cff52e68c631629a2fc289926
Parents: 0b8cdfd
Author: Anton Vinogradov <[email protected]>
Authored: Thu May 31 19:31:49 2018 +0300
Committer: Anton Vinogradov <[email protected]>
Committed: Thu May 31 19:31:49 2018 +0300

----------------------------------------------------------------------
 .../transactions/TxStateChangeEventTest.java    | 52 +++++++++++++++-----
 1 file changed, 39 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/5a5e618a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxStateChangeEventTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxStateChangeEventTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxStateChangeEventTest.java
index 4f7df7a..ea96ee7 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxStateChangeEventTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxStateChangeEventTest.java
@@ -81,7 +81,7 @@ public class TxStateChangeEventTest extends 
GridCommonAbstractTest {
      *
      */
     private void test(boolean loc) throws Exception {
-        Ignite ignite = startGrid(0);
+        Ignite ignite = startGrids(5);
 
         final IgniteEvents evts = ignite.events();
 
@@ -108,28 +108,27 @@ public class TxStateChangeEventTest extends 
GridCommonAbstractTest {
 
         IgniteCache cache = ignite.getOrCreateCache(DEFAULT_CACHE_NAME);
 
+        // create & commit
         try (Transaction tx = ignite.transactions().withLabel(lb).txStart(
-            TransactionConcurrency.OPTIMISTIC, 
TransactionIsolation.SERIALIZABLE, timeout, 3)) {
+            TransactionConcurrency.PESSIMISTIC, 
TransactionIsolation.SERIALIZABLE, timeout, 3)) {
             cache.put(1, 1);
 
             tx.commit();
         }
 
-        assertTrue(creation.get() &&
+        assertTrue(
+            creation.get() &&
             commit.get() &&
             !rollback.get() &&
             !suspend.get() &&
             !resume.get());
 
-        creation.set(false);
-        commit.set(false);
-        rollback.set(false);
-        suspend.set(false);
-        resume.set(false);
+        clear();
 
+        // create & suspend & resume & commit
         try (Transaction tx = ignite.transactions().withLabel(lb).txStart(
             TransactionConcurrency.OPTIMISTIC, 
TransactionIsolation.SERIALIZABLE, timeout, 3)) {
-            cache.put(1, 1);
+            cache.put(2, 7);
 
             tx.suspend();
 
@@ -137,14 +136,41 @@ public class TxStateChangeEventTest extends 
GridCommonAbstractTest {
 
             tx.resume();
 
-            tx.rollback();
+            tx.commit();
         }
 
-        assertTrue(creation.get() &&
-            !commit.get() &&
-            rollback.get() &&
+        assertTrue(
+            creation.get() &&
+            commit.get() &&
+            !rollback.get() &&
             suspend.get() &&
             resume.get());
+
+        clear();
+
+        // create & rollback (pessimistic)
+        try (Transaction tx = ignite.transactions().withLabel(lb).txStart(
+            TransactionConcurrency.PESSIMISTIC, 
TransactionIsolation.SERIALIZABLE, timeout, 3)) {
+            cache.put(4, 5);
+        }
+
+        assertTrue(
+            creation.get() &&
+            !commit.get() &&
+            rollback.get() &&
+            !suspend.get() &&
+            !resume.get());
+    }
+
+    /**
+     *
+     */
+    private void clear() {
+        creation.set(false);
+        commit.set(false);
+        rollback.set(false);
+        suspend.set(false);
+        resume.set(false);
     }
 
     /**

Reply via email to