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

zhouxj pushed a commit to branch feature/GEODE-7702
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 071284af6346ae70da46438fd12edc2aaae309da
Author: zhouxh <gz...@pivotal.io>
AuthorDate: Sun May 10 22:06:38 2020 -0700

    GEODE-7702: the removeAll from NORMAL should not be changed to use 
RemoteDestroyMessage like putAll
---
 .../apache/geode/cache30/PutAllMultiVmDUnitTest.java    | 17 ++++++-----------
 .../apache/geode/internal/cache/DistributedRegion.java  |  4 +---
 .../geode/internal/cache/LocalRegionDataView.java       |  5 +----
 3 files changed, 8 insertions(+), 18 deletions(-)

diff --git 
a/geode-core/src/distributedTest/java/org/apache/geode/cache30/PutAllMultiVmDUnitTest.java
 
b/geode-core/src/distributedTest/java/org/apache/geode/cache30/PutAllMultiVmDUnitTest.java
index af51bee..e78b5ee 100644
--- 
a/geode-core/src/distributedTest/java/org/apache/geode/cache30/PutAllMultiVmDUnitTest.java
+++ 
b/geode-core/src/distributedTest/java/org/apache/geode/cache30/PutAllMultiVmDUnitTest.java
@@ -315,22 +315,17 @@ public class PutAllMultiVmDUnitTest extends 
JUnit4DistributedTestCase { // TODO:
     });
 
     vm3.invoke(() -> {
-      for (int i = 10; i < 20; i++) {
+      // Note: removeAll will not distribute to NORMAL member
+      for (int i = 0; i < 20; i++) {
         Object value = region.getEntry("putAllKeysFromNormal" + i).getValue();
         assertThat(value).isEqualTo("newmap" + i);
       }
 
-      // Note: removeAll will now distribute to NORMAL member
-      for (int i = 0; i < 10; i++) {
-        Region.Entry entry = region.getEntry("putAllKeysFromNormal" + i);
-        assertThat(entry).isNull();
-      }
-
       // verify NORMAL member received PUTALL_UPDATE only
-      // ReomeAll event will now distribute to NORMAL member
-      Region.Entry entry = region.getEntry("putKeyFromNormal");
-      assertThat(entry).isNull();
-      entry = region.getEntry("putKeyFromReplicate");
+      // ReomeAll event will not distribute to NORMAL member
+      Object value = region.getEntry("putKeyFromNormal").getValue();
+      assertThat(value).isEqualTo("value2");
+      Region.Entry entry = region.getEntry("putKeyFromReplicate");
       assertThat(entry).isNull();
     });
   }
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java
 
b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java
index 12f363b..b822dde 100755
--- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java
@@ -1694,9 +1694,7 @@ public class DistributedRegion extends LocalRegion 
implements InternalDistribute
       if (requiresOneHopForMissingEntry(event)) {
         // bug #45704: see if a one-hop must be done for this operation
         RegionEntry re = getRegionEntry(event.getKey());
-        if (re == null /* || re.isTombstone() */ || !generateVersionTag
-            || this.getDataPolicy() == DataPolicy.NORMAL
-            || this.getDataPolicy() == DataPolicy.PRELOADED) {
+        if (re == null /* || re.isTombstone() */ || !generateVersionTag) {
           if (getServerProxy() == null) {
             // only assert for non-client regions.
             Assert.assertTrue(!getDataPolicy().withReplication() || 
!generateVersionTag);
diff --git 
a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegionDataView.java
 
b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegionDataView.java
index 4d4e531..5f45425 100644
--- 
a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegionDataView.java
+++ 
b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegionDataView.java
@@ -381,10 +381,7 @@ public class LocalRegionDataView implements 
InternalDataView {
     // BR, DR's removeAll
     long token = -1;
     try {
-      if (reg.getServerProxy() != null || (reg.getDataPolicy() != 
DataPolicy.NORMAL
-          && reg.getDataPolicy() != DataPolicy.PRELOADED)) {
-        token = reg.postRemoveAllSend(op, successfulOps);
-      }
+      token = reg.postRemoveAllSend(op, successfulOps);
       reg.postRemoveAllFireEvents(op, successfulOps);
     } finally {
       if (token != -1 && reg instanceof DistributedRegion) {

Reply via email to