This is an automated email from the ASF dual-hosted git repository.

upthewaterspout pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git

commit ff13a158020f9467a444ad4b4090c776bf463a71
Author: Dan Smith <[email protected]>
AuthorDate: Fri Oct 5 15:58:17 2018 -0700

    GEODE-5424: Fix tests with races relying on a poll delay
    
    These tests all were only passing because awaitility waited 100 ms
    before testing anything. They may all be existing flaky tests.
    
    - ClusterDistributionManagerForAdminDUnitTest - if the assertion ever
      failed, it would fail the awaility with a formatting error
    - testLeadShutdownAndCoordFailure - Further clauses also needed to be in
      awailitility.
    - testConcurrentOperationsDunitTestOnBlockingQueue
    - recoversFromCloseDuringRegionOperation
---
 .../org/apache/geode/distributed/LocatorDUnitTest.java     |  5 +++--
 .../ClusterDistributionManagerForAdminDUnitTest.java       |  3 ++-
 .../geode/internal/cache/ha/HARegionQueueDUnitTest.java    |  3 +++
 .../PersistentPartitionedRegionDistributedTest.java        | 14 ++++++--------
 4 files changed, 14 insertions(+), 11 deletions(-)

diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/distributed/LocatorDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/distributed/LocatorDUnitTest.java
index 3665936..6095aad 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/distributed/LocatorDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/distributed/LocatorDUnitTest.java
@@ -1223,8 +1223,9 @@ public class LocatorDUnitTest extends 
JUnit4DistributedTestCase {
       assertTrue("Distributed system should not have disconnected",
           vm2.invoke(() -> LocatorDUnitTest.isSystemConnected()));
 
-      assertEquals(sys.getDistributedMember(), 
MembershipManagerHelper.getCoordinator(sys));
-      assertEquals(mem2, MembershipManagerHelper.getLeadMember(sys));
+      await().untilAsserted(() -> assertEquals(sys.getDistributedMember(),
+          MembershipManagerHelper.getCoordinator(sys)));
+      await().untilAsserted(() -> assertEquals(mem2, 
MembershipManagerHelper.getLeadMember(sys)));
 
     } finally {
       vm2.invoke(() -> disconnectDistributedSystem());
diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/distributed/internal/ClusterDistributionManagerForAdminDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/distributed/internal/ClusterDistributionManagerForAdminDUnitTest.java
index 6117543..0f6fb0e 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/distributed/internal/ClusterDistributionManagerForAdminDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/distributed/internal/ClusterDistributionManagerForAdminDUnitTest.java
@@ -223,7 +223,8 @@ public class ClusterDistributionManagerForAdminDUnitTest 
extends CacheTestCase
         subRegion.destroyRegion();
 
         await()
-            .untilAsserted(() -> 
assertThat(rootRegion.subregions(false)).hasSize(expectedSize));
+            .untilAsserted(
+                () -> 
assertThat(rootRegion.subregions(false).size()).isEqualTo(expectedSize));
       }
     }
   }
diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueDUnitTest.java
index 2ac5d38..d706a49 100755
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueDUnitTest.java
@@ -678,6 +678,9 @@ public class HARegionQueueDUnitTest extends 
JUnit4DistributedTestCase {
         new SerializableCallable("Check Ops Occurred") {
           @Override
           public Object call() throws CacheException {
+            if (opThreads == null) {
+              return false;
+            }
             for (int i = 0; i < opThreads.length; ++i) {
               if (((RunOp) opThreads[i]).getNumOpsPerformed() == 0) {
                 return false;
diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDistributedTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDistributedTest.java
index dd17615..3466a23 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDistributedTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDistributedTest.java
@@ -953,8 +953,10 @@ public class PersistentPartitionedRegionDistributedTest 
implements Serializable
     vm0.invoke(() -> createPartitionedRegion(1, -1, 1, true));
     vm1.invoke(() -> createPartitionedRegion(1, -1, 1, true));
 
-    // Make sure we create a bucket
-    vm1.invoke(() -> createData(0, 1, "a"));
+    vm1.invoke(() -> {
+      Region<Integer, Integer> region = 
getCache().getRegion(partitionedRegionName);
+      region.put(0, -1);
+    });
 
     // Try to make sure there are some operations in flight while closing the 
cache
     AsyncInvocation<Integer> createPartitionedRegionWithPutsOnVM0 = 
vm0.invokeAsync(() -> {
@@ -978,15 +980,11 @@ public class PersistentPartitionedRegionDistributedTest 
implements Serializable
 
     vm0.invoke(() -> {
       Region<Integer, Integer> region = 
getCache().getRegion(partitionedRegionName);
-      // The value is initialized as a String so wait for it to be changed to 
an Integer.
-      await().until(() -> region.get(0) != null);
-      return region.get(0);
+      await().until(() -> region.get(0) > 0);
     });
     vm1.invoke(() -> {
       Region<Integer, Integer> region = 
getCache().getRegion(partitionedRegionName);
-      // The value is initialized as a String so wait for it to be changed to 
an Integer.
-      await().until(() -> region.get(0) != null);
-      return region.get(0);
+      await().until(() -> region.get(0) > 0);
     });
 
     AsyncInvocation<Void> closeCacheOnVM0 = vm0.invokeAsync(() -> 
getCache().close());

Reply via email to