You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by up...@apache.org on 2017/03/20 21:15:12 UTC
geode git commit: GEODE-688: Changing 1 second pause to a wait in
AsyncEventListenerDUnit
Repository: geode
Updated Branches:
refs/heads/develop 17877689b -> b169dfb34
GEODE-688: Changing 1 second pause to a wait in AsyncEventListenerDUnit
This test was pausing for 1 second, and hoping that redundancy recovery
happened in the mean time. I changed the code to actually wait for
redundancy recovery to finish.
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/b169dfb3
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/b169dfb3
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/b169dfb3
Branch: refs/heads/develop
Commit: b169dfb34161d08fff4782cd7d014a343f170c3f
Parents: 1787768
Author: Dan Smith <up...@apache.org>
Authored: Mon Mar 20 13:37:39 2017 -0700
Committer: Dan Smith <up...@apache.org>
Committed: Mon Mar 20 13:52:50 2017 -0700
----------------------------------------------------------------------
.../cache/wan/AsyncEventQueueTestBase.java | 18 +++++++++++++++++-
.../asyncqueue/AsyncEventListenerDUnitTest.java | 9 +++------
2 files changed, 20 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/b169dfb3/geode-core/src/test/java/org/apache/geode/internal/cache/wan/AsyncEventQueueTestBase.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/AsyncEventQueueTestBase.java b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/AsyncEventQueueTestBase.java
index 8b0c719..1595e99 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/AsyncEventQueueTestBase.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/AsyncEventQueueTestBase.java
@@ -35,8 +35,11 @@ import java.util.Properties;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicInteger;
+import org.apache.geode.internal.cache.control.InternalResourceManager;
+import org.apache.geode.internal.cache.control.InternalResourceManager.ResourceObserver;
import org.junit.experimental.categories.Category;
import org.apache.geode.DataSerializable;
@@ -664,10 +667,22 @@ public class AsyncEventQueueTestBase extends JUnit4DistributedTestCase {
* Create PartitionedRegion with 1 redundant copy
*/
public static void createPRWithRedundantCopyWithAsyncEventQueue(String regionName,
- String asyncEventQueueId, Boolean offHeap) {
+ String asyncEventQueueId, Boolean offHeap) throws InterruptedException {
IgnoredException exp =
IgnoredException.addIgnoredException(ForceReattemptException.class.getName());
+
+ CountDownLatch recoveryDone = new CountDownLatch(2);
+
+ ResourceObserver observer = new InternalResourceManager.ResourceObserverAdapter() {
+ @Override
+ public void recoveryFinished(Region region) {
+ recoveryDone.countDown();
+ }
+ };
+ InternalResourceManager.setResourceObserver(observer);
+
+
try {
AttributesFactory fact = new AttributesFactory();
@@ -679,6 +694,7 @@ public class AsyncEventQueueTestBase extends JUnit4DistributedTestCase {
Region r = cache.createRegionFactory(fact.create()).addAsyncEventQueueId(asyncEventQueueId)
.create(regionName);
assertNotNull(r);
+ recoveryDone.await();
} finally {
exp.remove();
}
http://git-wip-us.apache.org/repos/asf/geode/blob/b169dfb3/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java
index 69c2caa..b7adff0 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java
@@ -1466,7 +1466,6 @@ public class AsyncEventListenerDUnitTest extends AsyncEventQueueTestBase {
* Test case to test possibleDuplicates. vm1 & vm2 are hosting the PR. vm2 is killed and
* subsequently vm3 is brought up. Buckets are now rebalanced between vm1 & vm3.
*/
- @Category(FlakyTest.class) // GEODE-688: random ports, thread sleeps, async actions
@Test
public void testParallelAsyncEventQueueHA_Scenario2() {
Integer lnPort =
@@ -1493,8 +1492,6 @@ public class AsyncEventListenerDUnitTest extends AsyncEventQueueTestBase {
vm1.invoke(pauseAsyncEventQueueRunnable());
vm2.invoke(pauseAsyncEventQueueRunnable());
- Wait.pause(1000);// pause for the batchTimeInterval to make sure the AsyncQueue
- // is paused
LogWriterUtils.getLogWriter().info("Paused the AsyncEventQueue");
@@ -1519,9 +1516,9 @@ public class AsyncEventListenerDUnitTest extends AsyncEventQueueTestBase {
// ------------------------------------------------------------------
- Wait.pause(1000);// give some time for rebalancing to happen
- Set<Integer> primaryBucketsvm3 = (Set<Integer>) vm3.invoke(
- () -> AsyncEventQueueTestBase.getAllPrimaryBucketsOnTheNode(getTestMethodName() + "_PR"));
+ String regionName = getTestMethodName() + "_PR";
+ Set<Integer> primaryBucketsvm3 = (Set<Integer>) vm3
+ .invoke(() -> AsyncEventQueueTestBase.getAllPrimaryBucketsOnTheNode(regionName));
vm1.invoke(() -> AsyncEventQueueTestBase.resumeAsyncEventQueue("ln"));