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) {