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/07/10 12:00:18 UTC
[02/41] ignite git commit: IGNITE-5520 - Fixed
IgniteChangeGlobalStateFailoverTest
IGNITE-5520 - Fixed IgniteChangeGlobalStateFailoverTest
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/85d8c657
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/85d8c657
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/85d8c657
Branch: refs/heads/ignite-5578-1
Commit: 85d8c6572d78c7d6796906d92b566e2fa5b116be
Parents: ab52671
Author: Dmitriy Govorukhin <dm...@gmail.com>
Authored: Fri Jul 7 13:13:55 2017 +0300
Committer: Alexey Goncharuk <al...@gmail.com>
Committed: Fri Jul 7 13:15:26 2017 +0300
----------------------------------------------------------------------
.../IgniteChangeGlobalStateFailOverTest.java | 56 +++++++++++++-------
1 file changed, 37 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/85d8c657/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteChangeGlobalStateFailOverTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteChangeGlobalStateFailOverTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteChangeGlobalStateFailOverTest.java
index 92d1f21..02a21f4 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteChangeGlobalStateFailOverTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/standbycluster/IgniteChangeGlobalStateFailOverTest.java
@@ -21,11 +21,11 @@ import java.util.concurrent.Callable;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.internal.IgniteInternalFuture;
-import org.apache.ignite.internal.util.typedef.internal.U;
import static java.lang.Thread.sleep;
import static org.apache.ignite.testframework.GridTestUtils.runAsync;
@@ -144,8 +144,6 @@ public class IgniteChangeGlobalStateFailOverTest extends IgniteChangeGlobalState
* @throws Exception If failed.
*/
public void testActivateDeActivateOnJoiningNode() throws Exception {
- fail("https://issues.apache.org/jira/browse/IGNITE-5520");
-
final Ignite igB1 = backUp(0);
final Ignite igB2 = backUp(1);
final Ignite igB3 = backUp(2);
@@ -162,14 +160,17 @@ public class IgniteChangeGlobalStateFailOverTest extends IgniteChangeGlobalState
final AtomicBoolean stop = new AtomicBoolean();
- final AtomicBoolean canAct = new AtomicBoolean(true);
final AtomicInteger seqIdx = new AtomicInteger(backUpNodes());
+ final ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock();
+
try {
final IgniteInternalFuture<Void> af = runAsync(new Callable<Void>() {
@Override public Void call() throws Exception {
while (!stop.get()) {
- if (canAct.get()) {
+ rwLock.readLock().lock();
+
+ try {
Ignite ig = randomBackUp(false);
long start = System.currentTimeMillis();
@@ -182,13 +183,12 @@ public class IgniteChangeGlobalStateFailOverTest extends IgniteChangeGlobalState
for (Ignite ign : allBackUpNodes())
assertTrue(ign.active());
-
- canAct.set(false);
}
- else
- U.sleep(100);
-
+ finally {
+ rwLock.readLock().unlock();
+ }
}
+
return null;
}
});
@@ -196,7 +196,9 @@ public class IgniteChangeGlobalStateFailOverTest extends IgniteChangeGlobalState
final IgniteInternalFuture<Void> df = runAsync(new Callable<Void>() {
@Override public Void call() throws Exception {
while (!stop.get()) {
- if (!canAct.get()) {
+ rwLock.writeLock().lock();
+
+ try {
Ignite ig = randomBackUp(false);
long start = System.currentTimeMillis();
@@ -209,20 +211,28 @@ public class IgniteChangeGlobalStateFailOverTest extends IgniteChangeGlobalState
for (Ignite ign : allBackUpNodes())
assertTrue(!ign.active());
-
- canAct.set(true);
}
- else
- U.sleep(100);
+ finally {
+ rwLock.writeLock().unlock();
+ }
}
+
return null;
}
});
IgniteInternalFuture<Void> jf1 = runAsync(new Callable<Void>() {
@Override public Void call() throws Exception {
- while (!stop.get())
- startBackUp(seqIdx.incrementAndGet());
+ while (!stop.get()) {
+ rwLock.readLock().lock();
+
+ try {
+ startBackUp(seqIdx.incrementAndGet());
+ }
+ finally {
+ rwLock.readLock().unlock();
+ }
+ }
return null;
}
@@ -230,8 +240,16 @@ public class IgniteChangeGlobalStateFailOverTest extends IgniteChangeGlobalState
IgniteInternalFuture<Void> jf2 = runAsync(new Callable<Void>() {
@Override public Void call() throws Exception {
- while (!stop.get())
- startBackUp(seqIdx.incrementAndGet());
+ while (!stop.get()) {
+ rwLock.readLock().lock();
+
+ try {
+ startBackUp(seqIdx.incrementAndGet());
+ }
+ finally {
+ rwLock.readLock().unlock();
+ }
+ }
return null;
}