You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2017/10/26 14:38:55 UTC

ignite git commit: ignite-5935 tests

Repository: ignite
Updated Branches:
  refs/heads/ignite-5935 [created] 1c2fded6e


ignite-5935 tests


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

Branch: refs/heads/ignite-5935
Commit: 1c2fded6e0a3cad93ebe04b2fa3b0d81c7f2ffca
Parents: 987a57e
Author: sboikov <sb...@gridgain.com>
Authored: Thu Oct 26 16:45:53 2017 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Thu Oct 26 17:09:20 2017 +0300

----------------------------------------------------------------------
 .../near/GridNearTxFinishAndAckFuture.java      | 15 ++++++
 .../cache/mvcc/CacheCoordinatorsProcessor.java  |  7 +++
 .../cache/mvcc/CacheMvccTransactionsTest.java   | 53 ++++++++++++++++++++
 3 files changed, 75 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/1c2fded6/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishAndAckFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishAndAckFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishAndAckFuture.java
index 36efe2f..140f57d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishAndAckFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishAndAckFuture.java
@@ -18,6 +18,7 @@
 package org.apache.ignite.internal.processors.cache.distributed.near;
 
 import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.IgniteLogger;
 import org.apache.ignite.internal.IgniteInternalFuture;
 import org.apache.ignite.internal.processors.cache.mvcc.MvccQueryTracker;
 import org.apache.ignite.internal.processors.cache.mvcc.TxMvccInfo;
@@ -41,6 +42,11 @@ public class GridNearTxFinishAndAckFuture extends GridFutureAdapter<IgniteIntern
     }
 
     /** {@inheritDoc} */
+    @Override public IgniteLogger logger() {
+        return finishFut.context().logger(GridNearTxFinishAndAckFuture.class);
+    }
+
+    /** {@inheritDoc} */
     @Override public boolean commit() {
         return finishFut.commit();
     }
@@ -52,6 +58,15 @@ public class GridNearTxFinishAndAckFuture extends GridFutureAdapter<IgniteIntern
 
             finishFut.listen(new IgniteInClosure<GridNearTxFinishFuture>() {
                 @Override public void apply(final GridNearTxFinishFuture fut) {
+                    try {
+                        fut.get();
+                    }
+                    catch (IgniteCheckedException e) {
+                        onDone(e);
+
+                        return;
+                    }
+
                     GridNearTxLocal tx = fut.tx();
 
                     IgniteInternalFuture<Void> ackFut = null;

http://git-wip-us.apache.org/repos/asf/ignite/blob/1c2fded6/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsProcessor.java
index c88ca1c..31ca21d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/mvcc/CacheCoordinatorsProcessor.java
@@ -147,6 +147,11 @@ public class CacheCoordinatorsProcessor extends GridProcessorAdapter {
         super(ctx);
     }
 
+    /** {@inheritDoc} */
+    @Override public void onKernalStop(boolean cancel) {
+        super.onKernalStop(cancel);
+    }
+
     /**
      * @param crdVer Mvcc coordinator version.
      * @param cntr Counter.
@@ -1342,6 +1347,7 @@ public class CacheCoordinatorsProcessor extends GridProcessorAdapter {
             return "CacheCoordinatorDiscoveryListener[]";
         }
     }
+
     /**
      *
      */
@@ -1396,6 +1402,7 @@ public class CacheCoordinatorsProcessor extends GridProcessorAdapter {
             return "CoordinatorMessageListener[]";
         }
     }
+
     /**
      *
      */

http://git-wip-us.apache.org/repos/asf/ignite/blob/1c2fded6/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccTransactionsTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccTransactionsTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccTransactionsTest.java
index 6309523..e8fc281 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccTransactionsTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/mvcc/CacheMvccTransactionsTest.java
@@ -350,6 +350,59 @@ public class CacheMvccTransactionsTest extends CacheMvccAbstractTest {
     }
 
     /**
+     * @throws Exception If failed.
+     */
+    public void testNearTxNodeFailureSimple() throws Exception {
+        testSpi = true;
+
+        final int SRVS = 3;
+
+        startGridsMultiThreaded(SRVS);
+
+        client = true;
+
+        Ignite client = startGrid(SRVS);
+
+        CacheConfiguration<Object, Object> ccfg = cacheConfiguration(PARTITIONED,
+            FULL_SYNC, 2, DFLT_PARTITION_COUNT);
+
+        final IgniteCache cache = client.createCache(ccfg);
+
+        TestRecordingCommunicationSpi spi = TestRecordingCommunicationSpi.spi(client);
+
+        spi.blockMessages(new IgniteBiPredicate<ClusterNode, Message>() {
+            @Override public boolean apply(ClusterNode node, Message msg) {
+                if (msg instanceof GridNearTxFinishRequest || msg instanceof CoordinatorAckRequestTx) {
+                    info("Block message [node=" + node.id() + ", msg=" + msg + ']');
+
+                    return true;
+                }
+
+                return false;
+            }
+        });
+
+        IgniteInternalFuture fut = GridTestUtils.runAsync(new Callable() {
+            @Override public Object call() throws Exception {
+                try {
+                    cache.put(primaryKey(jcache(1)), 1);
+                }
+                catch (Exception e) {
+                    info("Ignore error: " + e);
+                }
+
+                return null;
+            }
+        });
+
+        spi.waitForBlocked();
+
+        stopGrid(SRVS);
+
+        fut.get();
+    }
+
+    /**
      * @param tx If {@code true} tests reads inside transaction.
      * @throws Exception If failed.
      */