You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2018/10/11 15:47:12 UTC
ignite git commit: IGNITE-9726 Prevent the whole suite lockup after
GridCacheAbstractFailoverSelfTest failure - Fixes #4859.
Repository: ignite
Updated Branches:
refs/heads/master 88df5ee60 -> 584652293
IGNITE-9726 Prevent the whole suite lockup after GridCacheAbstractFailoverSelfTest failure - Fixes #4859.
Signed-off-by: Alexey Goncharuk <al...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/58465229
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/58465229
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/58465229
Branch: refs/heads/master
Commit: 584652293c8646d8a893eed1a2b2ae1a179a5d20
Parents: 88df5ee
Author: Alexey Platonov <ap...@gmail.com>
Authored: Thu Oct 11 18:42:28 2018 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Thu Oct 11 18:46:00 2018 +0300
----------------------------------------------------------------------
.../GridCacheAbstractFailoverSelfTest.java | 20 +++++++++++++++-----
.../ignite/testframework/GridTestUtils.java | 11 +++++++++--
2 files changed, 24 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/58465229/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFailoverSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFailoverSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFailoverSelfTest.java
index 26f7529..5c204c7 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFailoverSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheAbstractFailoverSelfTest.java
@@ -228,8 +228,10 @@ public abstract class GridCacheAbstractFailoverSelfTest extends GridCacheAbstrac
}
}, TOP_CHANGE_THREAD_CNT, "topology-change-thread");
+ boolean isInterrupted = false;
+
try {
- while (!fut.isDone()) {
+ while (!fut.isDone() && !isInterrupted) {
if (tx) {
remove(grid(0), jcache(), half, concurrency, isolation);
put(grid(0), jcache(), half, concurrency, isolation);
@@ -238,6 +240,14 @@ public abstract class GridCacheAbstractFailoverSelfTest extends GridCacheAbstrac
remove(jcache(), half);
put(jcache(), half);
}
+
+ isInterrupted = Thread.currentThread().isInterrupted();
+ }
+
+ if (isInterrupted) {
+ Thread.currentThread().interrupt();
+
+ fut.cancel();
}
}
catch (Exception e) {
@@ -248,7 +258,8 @@ public abstract class GridCacheAbstractFailoverSelfTest extends GridCacheAbstrac
throw e;
}
- fut.get();
+ if (!isInterrupted)
+ fut.get();
Exception err0 = err.get();
@@ -285,8 +296,7 @@ public abstract class GridCacheAbstractFailoverSelfTest extends GridCacheAbstrac
final int cnt,
TransactionConcurrency concurrency,
TransactionIsolation isolation)
- throws Exception
- {
+ throws Exception {
try {
info("Putting values to cache [0," + cnt + ')');
@@ -383,7 +393,7 @@ public abstract class GridCacheAbstractFailoverSelfTest extends GridCacheAbstrac
* @param g Grid.
* @return Cache.
*/
- private IgniteCache<String,Integer> cache(Ignite g) {
+ private IgniteCache<String, Integer> cache(Ignite g) {
return g.cache(DEFAULT_CACHE_NAME);
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/58465229/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java b/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
index 73293ce..ad55e40 100644
--- a/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
+++ b/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java
@@ -905,8 +905,15 @@ public final class GridTestUtils {
}
// Wait threads finish their job.
- for (Thread t : threads)
- t.join();
+ try {
+ for (Thread t : threads)
+ t.join();
+ } catch (InterruptedException e) {
+ for (Thread t : threads)
+ t.interrupt();
+
+ throw e;
+ }
time = System.currentTimeMillis() - time;