You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ja...@apache.org on 2018/01/25 18:40:08 UTC
[geode] branch develop updated: GEODE-4223: Test now waits until
internal lucene regions are ready (#1301)
This is an automated email from the ASF dual-hosted git repository.
jasonhuynh pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new a8f99b5 GEODE-4223: Test now waits until internal lucene regions are ready (#1301)
a8f99b5 is described below
commit a8f99b586db3938f337e3a2ab25388df61a35371
Author: Jason Huynh <hu...@gmail.com>
AuthorDate: Thu Jan 25 10:40:01 2018 -0800
GEODE-4223: Test now waits until internal lucene regions are ready (#1301)
---
.../lucene/RebalanceWithRedundancyDUnitTest.java | 41 +++++++++++++++++-----
1 file changed, 33 insertions(+), 8 deletions(-)
diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/RebalanceWithRedundancyDUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/RebalanceWithRedundancyDUnitTest.java
index a6afb20..720dcc4 100644
--- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/RebalanceWithRedundancyDUnitTest.java
+++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/RebalanceWithRedundancyDUnitTest.java
@@ -18,6 +18,8 @@ import static org.apache.geode.cache.lucene.test.IndexRepositorySpy.*;
import static org.apache.geode.cache.lucene.test.LuceneTestUtilities.*;
import static org.junit.Assert.*;
+import java.io.Serializable;
+import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.stream.IntStream;
@@ -39,7 +41,7 @@ import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.internal.cache.InitialImageOperation;
import org.apache.geode.internal.cache.InitialImageOperation.GIITestHook;
import org.apache.geode.internal.cache.InitialImageOperation.GIITestHookType;
-import org.apache.geode.internal.cache.PartitionedRegion;
+import org.apache.geode.internal.cache.control.InternalResourceManager;
import org.apache.geode.test.dunit.SerializableRunnableIF;
import org.apache.geode.test.junit.categories.DistributedTest;
@@ -129,6 +131,8 @@ public class RebalanceWithRedundancyDUnitTest extends LuceneQueriesAccessorBase
putEntryInEachBucket();
dataStore2.invoke(() -> {
+ TestResourceObserver observer = new TestResourceObserver(4);
+ InternalResourceManager.setResourceObserver(observer);
InitialImageOperation.setGIITestHook(
new GIITestHook(GIITestHookType.AfterSentRequestImage, "Do puts during request") {
@Override
@@ -145,24 +149,23 @@ public class RebalanceWithRedundancyDUnitTest extends LuceneQueriesAccessorBase
public void run() {
dataStore1.invoke(() -> LuceneTestUtilities.resumeSender(getCache()));
waitForFlushBeforeExecuteTextSearch(dataStore1, 30000);
+ ((TestResourceObserver) InternalResourceManager.getResourceObserver())
+ .recoveryFinished();
}
});
});
- dataStore2.invoke(() -> initDataStore(createIndex, regionTestType));
-
- assertTrue(waitForFlushBeforeExecuteTextSearch(dataStore1, 30000));
-
dataStore2.invoke(() -> {
- PartitionedRegion region = (PartitionedRegion) getCache().getRegion(REGION_NAME);
- Awaitility.await().atMost(1, TimeUnit.MINUTES)
- .until(() -> assertEquals(0, region.getPrStats().getLowRedundancyBucketCount()));
+ initDataStore(createIndex, regionTestType);
+ ((TestResourceObserver) InternalResourceManager.getResourceObserver()).await();
});
+ assertTrue(waitForFlushBeforeExecuteTextSearch(dataStore1, 30000));
dataStore1.invoke(() -> getCache().close());
assertTrue(waitForFlushBeforeExecuteTextSearch(dataStore2, 30000));
+
executeTextSearch(accessor, "world", "text", NUM_BUCKETS);
}
@@ -189,4 +192,26 @@ public class RebalanceWithRedundancyDUnitTest extends LuceneQueriesAccessorBase
executeTextSearch(accessor, "world", "text", NUM_BUCKETS);
}
+ private class TestResourceObserver extends InternalResourceManager.ResourceObserverAdapter
+ implements Serializable {
+ CountDownLatch recoveryDone;
+
+ public TestResourceObserver(int numToWait) {
+ recoveryDone = new CountDownLatch(numToWait);
+ }
+
+ @Override
+ public void recoveryFinished(Region region) {
+ recoveryDone.countDown();
+ }
+
+ public void recoveryFinished() {
+ recoveryDone.countDown();
+ }
+
+ public void await() throws InterruptedException {
+ recoveryDone.await();
+ }
+ }
+
}
--
To stop receiving notification emails like this one, please contact
jasonhuynh@apache.org.