geode-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hiteshkhame...@apache.org
Subject [20/50] [abbrv] geode git commit: GEODE-2820: Added awaitlity clause to wait for the index size to be correct
Date Tue, 27 Jun 2017 19:55:25 GMT
GEODE-2820: Added awaitlity clause to wait for the index size to be correct

	* Added awaitility clause to wait for all the indexes to have all the entries
	* This is done to make sure that the queries are executed after the indexes are ready.

	This closes #588


Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/822946b9
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/822946b9
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/822946b9

Branch: refs/heads/feature/GEODE-2804v3
Commit: 822946b9ddc426b45857c6b3919cd0b8b5a98406
Parents: 43b00bd
Author: nabarun <nnag@pivotal.io>
Authored: Thu Jun 15 16:32:46 2017 -0700
Committer: nabarun <nnag@pivotal.io>
Committed: Wed Jun 21 15:12:49 2017 -0700

----------------------------------------------------------------------
 .../dunit/QueryIndexUsingXMLDUnitTest.java      | 30 +++++++++++++++++---
 1 file changed, 26 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/geode/blob/822946b9/geode-core/src/test/java/org/apache/geode/cache/query/dunit/QueryIndexUsingXMLDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/cache/query/dunit/QueryIndexUsingXMLDUnitTest.java
b/geode-core/src/test/java/org/apache/geode/cache/query/dunit/QueryIndexUsingXMLDUnitTest.java
index 83f1da3..e08b019 100644
--- a/geode-core/src/test/java/org/apache/geode/cache/query/dunit/QueryIndexUsingXMLDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/cache/query/dunit/QueryIndexUsingXMLDUnitTest.java
@@ -21,6 +21,7 @@ import static org.apache.geode.test.dunit.Invoke.*;
 import static org.apache.geode.test.dunit.LogWriterUtils.*;
 import static org.assertj.core.api.Assertions.*;
 import static org.awaitility.Awaitility.*;
+import static org.junit.Assert.assertEquals;
 
 import java.io.File;
 import java.net.URL;
@@ -28,8 +29,10 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Properties;
+import java.util.concurrent.TimeUnit;
 
 import org.apache.commons.io.FileUtils;
+import org.awaitility.Awaitility;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
@@ -473,11 +476,7 @@ public class QueryIndexUsingXMLDUnitTest extends JUnit4CacheTestCase
{
 
   /**
    * Creates async indexes and compares the results between index and non-index results.
-   * <p>
-   * DISABLED. This test is disabled due to a high rate of throw new AssertionError. See
ticket
-   * #52167
    */
-  @Ignore("TODO: test is disabled because of #52167")
   @Test
   public void testCreateAsyncIndexWhileDoingGIIAndCompareQueryResults() throws Exception
{
     Host host = Host.getHost(0);
@@ -510,11 +509,34 @@ public class QueryIndexUsingXMLDUnitTest extends JUnit4CacheTestCase
{
     vm1.invoke(prIndexCreationCheck(PERSISTENT_REG_NAME, "secIndex", 50));
     vm1.invoke(indexCreationCheck(REP_REG_NAME, "secIndex"));
 
+    vm0.invoke(() -> validateIndexSize());
+    vm1.invoke(() -> validateIndexSize());
+
+
     // Execute query and verify index usage
     vm0.invoke(executeQueryAndCompareResult(false));
     vm1.invoke(executeQueryAndCompareResult(false));
   }
 
+  public void validateIndexSize() {
+    Awaitility.await().atMost(60, TimeUnit.SECONDS).until(() -> {
+      boolean indexSizeCheck_NAME = validateIndexSizeForRegion(NAME);
+      boolean indexSizeCheck_REP_REG_NAME = validateIndexSizeForRegion(REP_REG_NAME);
+      boolean indexSizeCheck_PERSISTENT_REG_NAME = validateIndexSizeForRegion(PERSISTENT_REG_NAME);
+      assertEquals("Index does not contain all the entries after 60 seconds have elapsed
", true,
+          (indexSizeCheck_NAME && indexSizeCheck_REP_REG_NAME
+              && indexSizeCheck_PERSISTENT_REG_NAME));
+    });
+  }
+
+  private boolean validateIndexSizeForRegion(final String regionName) {
+    Region region = getCache().getRegion(regionName);
+    QueryService queryService = getCache().getQueryService();
+    return queryService.getIndex(region, "statusIndex").getStatistics().getNumberOfValues()
== 500
+        && queryService.getIndex(region, "idIndex").getStatistics().getNumberOfValues()
== 500
+        && queryService.getIndex(region, "statusIndex").getStatistics().getNumberOfValues()
== 500;
+  }
+
   @Test
   public void testIndexCreationForReplicatedPersistentOverFlowRegionOnRestart() throws Exception
{
     Host host = Host.getHost(0);


Mime
View raw message