You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ds...@apache.org on 2018/01/18 17:34:52 UTC

[geode] branch develop updated: GEODE-4305: encapsulate the concurrencyChecksEnabled field (#1297)

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

dschneider 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 ffee51a  GEODE-4305: encapsulate the concurrencyChecksEnabled field (#1297)
ffee51a is described below

commit ffee51a19437d69099b5aefe0da6c47ac32e853d
Author: Darrel Schneider <ds...@pivotal.io>
AuthorDate: Thu Jan 18 09:34:48 2018 -0800

    GEODE-4305: encapsulate the concurrencyChecksEnabled field (#1297)
    
    The concurrencyChecksEnabled is now always accessed using
    getConcurrencyChecksEnabled and setConcurrencyChecksEnabled.
---
 .../geode/internal/cache/AbstractRegion.java       | 17 +++---
 .../geode/internal/cache/AbstractRegionMap.java    | 33 +++++-----
 .../internal/cache/AbstractUpdateOperation.java    |  7 ++-
 .../apache/geode/internal/cache/BucketRegion.java  |  2 +-
 .../apache/geode/internal/cache/DistTXState.java   |  7 ++-
 .../internal/cache/DistTXStateOnCoordinator.java   |  7 ++-
 .../internal/cache/DistributedPutAllOperation.java |  4 +-
 .../geode/internal/cache/DistributedRegion.java    | 24 ++++----
 .../cache/DistributedRemoveAllOperation.java       |  4 +-
 .../geode/internal/cache/EntryEventImpl.java       |  4 +-
 .../internal/cache/InitialImageOperation.java      | 14 ++---
 .../geode/internal/cache/InternalRegion.java       |  2 -
 .../apache/geode/internal/cache/LocalRegion.java   | 70 ++++++++++------------
 .../geode/internal/cache/LocalRegionDataView.java  |  4 +-
 .../geode/internal/cache/PartitionedRegion.java    | 16 +++--
 .../internal/cache/PartitionedRegionDataStore.java |  2 +-
 .../geode/internal/cache/RemotePutAllMessage.java  |  2 +-
 .../internal/cache/RemoteRemoveAllMessage.java     |  2 +-
 .../apache/geode/internal/cache/TXEntryState.java  |  2 +-
 .../cache/entries/AbstractRegionEntry.java         |  2 +-
 .../geode/internal/cache/entries/DiskEntry.java    |  4 +-
 .../internal/cache/AbstractRegionJUnitTest.java    |  5 --
 ...entServerInvalidAndDestroyedEntryDUnitTest.java | 14 +++--
 23 files changed, 121 insertions(+), 127 deletions(-)

diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegion.java
index bc0f85e..c9943ce 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegion.java
@@ -170,7 +170,7 @@ public abstract class AbstractRegion implements InternalRegion, AttributesMutato
 
   protected int concurrencyLevel;
 
-  protected volatile boolean concurrencyChecksEnabled;
+  private volatile boolean concurrencyChecksEnabled;
 
   protected boolean earlyAck;
 
@@ -435,7 +435,7 @@ public abstract class AbstractRegion implements InternalRegion, AttributesMutato
     buf.append(getClass().getName());
     buf.append("[path='").append(getFullPath()).append("';scope=").append(getScope())
         .append("';dataPolicy=").append(this.dataPolicy);
-    if (this.concurrencyChecksEnabled) {
+    if (this.getConcurrencyChecksEnabled()) {
       buf.append("; concurrencyChecksEnabled");
     }
     return buf;
@@ -724,6 +724,10 @@ public abstract class AbstractRegion implements InternalRegion, AttributesMutato
     return this.concurrencyChecksEnabled;
   }
 
+  public void setConcurrencyChecksEnabled(boolean concurrencyChecksEnabled) {
+    this.concurrencyChecksEnabled = concurrencyChecksEnabled;
+  }
+
   @Override
   public boolean getPersistBackup() {
     return getDataPolicy().withPersistence();
@@ -1599,8 +1603,8 @@ public abstract class AbstractRegion implements InternalRegion, AttributesMutato
     this.initialCapacity = attrs.getInitialCapacity();
     this.loadFactor = attrs.getLoadFactor();
     this.concurrencyLevel = attrs.getConcurrencyLevel();
-    this.concurrencyChecksEnabled =
-        attrs.getConcurrencyChecksEnabled() && supportsConcurrencyChecks();
+    this.setConcurrencyChecksEnabled(
+        attrs.getConcurrencyChecksEnabled() && supportsConcurrencyChecks());
     this.earlyAck = attrs.getEarlyAck();
     this.gatewaySenderIds = attrs.getGatewaySenderIds();
     this.asyncEventQueueIds = attrs.getAsyncEventQueueIds();
@@ -1837,11 +1841,6 @@ public abstract class AbstractRegion implements InternalRegion, AttributesMutato
   }
 
   @Override
-  public boolean isConcurrencyChecksEnabled() {
-    return this.concurrencyChecksEnabled;
-  }
-
-  @Override
   public void incRecentlyUsed() {
     // nothing
   }
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
index 38e8cb7..167552a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractRegionMap.java
@@ -884,7 +884,7 @@ public abstract class AbstractRegionMap implements RegionMap {
                   oldRe = putEntryIfAbsent(key, newRe);
                 } else {
                   boolean acceptedVersionTag = false;
-                  if (entryVersion != null && owner.concurrencyChecksEnabled) {
+                  if (entryVersion != null && owner.getConcurrencyChecksEnabled()) {
                     Assert.assertTrue(entryVersion.getMemberID() != null,
                         "GII entry versions must have identifiers");
                     try {
@@ -964,7 +964,7 @@ public abstract class AbstractRegionMap implements RegionMap {
             }
             if (!done) {
               boolean versionTagAccepted = false;
-              if (entryVersion != null && owner.concurrencyChecksEnabled) {
+              if (entryVersion != null && owner.getConcurrencyChecksEnabled()) {
                 Assert.assertTrue(entryVersion.getMemberID() != null,
                     "GII entry versions must have identifiers");
                 try {
@@ -1101,7 +1101,7 @@ public abstract class AbstractRegionMap implements RegionMap {
                 "ARM.destroy() inTokenMode={}; duringRI={}; riLocalDestroy={}; withRepl={}; fromServer={}; concurrencyEnabled={}; isOriginRemote={}; isEviction={}; operation={}; re={}",
                 inTokenMode, duringRI, event.isFromRILocalDestroy(),
                 owner.dataPolicy.withReplication(), event.isFromServer(),
-                owner.concurrencyChecksEnabled, event.isOriginRemote(), isEviction,
+                owner.getConcurrencyChecksEnabled(), event.isOriginRemote(), isEviction,
                 event.getOperation(), re);
           }
           if (event.isFromRILocalDestroy()) {
@@ -1125,7 +1125,7 @@ public abstract class AbstractRegionMap implements RegionMap {
             // information for concurrency checks
             boolean retainForConcurrency = (!haveTombstone
                 && (owner.dataPolicy.withReplication() || event.isFromServer())
-                && owner.concurrencyChecksEnabled
+                && owner.getConcurrencyChecksEnabled()
                 && (event.isOriginRemote() /* destroy received from other must create tombstone */
                     || event.isFromWANAndVersioned() /* wan event must create a tombstone */
                     || event.isBridgeEvent())); /*
@@ -1265,7 +1265,7 @@ public abstract class AbstractRegionMap implements RegionMap {
               }
             } // inTokenMode or tombstone creation
             else {
-              if (!isEviction || owner.concurrencyChecksEnabled) {
+              if (!isEviction || owner.getConcurrencyChecksEnabled()) {
                 // The following ensures that there is not a concurrent operation
                 // on the entry and leaves behind a tombstone if concurrencyChecksEnabled.
                 // It fixes bug #32467 by propagating the destroy to the server even though
@@ -1340,7 +1340,7 @@ public abstract class AbstractRegionMap implements RegionMap {
                       // either remove the entry or leave a tombstone
                       try {
                         if (!event.isOriginRemote() && event.getVersionTag() != null
-                            && owner.concurrencyChecksEnabled) {
+                            && owner.getConcurrencyChecksEnabled()) {
                           // this shouldn't fail since we just created the entry.
                           // it will either generate a tag or apply a server's version tag
                           processVersionTag(newRe, event);
@@ -1416,7 +1416,7 @@ public abstract class AbstractRegionMap implements RegionMap {
                 // Bug 45170: If removeRecoveredEntry, we treat tombstone as regular entry to be
                 // deleted
                 boolean createTombstoneForConflictChecks =
-                    (owner.concurrencyChecksEnabled && (event.isOriginRemote()
+                    (owner.getConcurrencyChecksEnabled() && (event.isOriginRemote()
                         || event.getContext() != null || removeRecoveredEntry));
                 if (!re.isRemoved() || createTombstoneForConflictChecks) {
                   if (re.isRemovedPhase2()) {
@@ -1698,7 +1698,8 @@ public abstract class AbstractRegionMap implements RegionMap {
                 if (!clearOccured) {
                   lruEntryDestroy(re);
                 }
-                if (owner.concurrencyChecksEnabled && txEntryState != null && cbEvent != null) {
+                if (owner.getConcurrencyChecksEnabled() && txEntryState != null
+                    && cbEvent != null) {
                   txEntryState.setVersionTag(cbEvent.getVersionTag());
                 }
               } finally {
@@ -1712,7 +1713,7 @@ public abstract class AbstractRegionMap implements RegionMap {
             oqlIndexManager.countDownIndexUpdaters();
           }
         }
-      } else if (inTokenMode || owner.concurrencyChecksEnabled) {
+      } else if (inTokenMode || owner.getConcurrencyChecksEnabled()) {
         // treating tokenMode and re == null as same, since we now want to
         // generate versions and Tombstones for destroys
         boolean dispatchListenerEvent = inTokenMode;
@@ -1843,7 +1844,7 @@ public abstract class AbstractRegionMap implements RegionMap {
                   cbEvent.release();
               }
             }
-            if (owner.concurrencyChecksEnabled && txEntryState != null && cbEvent != null) {
+            if (owner.getConcurrencyChecksEnabled() && txEntryState != null && cbEvent != null) {
               txEntryState.setVersionTag(cbEvent.getVersionTag());
             }
           }
@@ -1983,7 +1984,8 @@ public abstract class AbstractRegionMap implements RegionMap {
                         }
                       } else {
                         owner.serverInvalidate(event);
-                        if (owner.concurrencyChecksEnabled && event.noVersionReceivedFromServer()) {
+                        if (owner.getConcurrencyChecksEnabled()
+                            && event.noVersionReceivedFromServer()) {
                           // server did not perform the invalidation, so don't leave an invalid
                           // entry here
                           return false;
@@ -2155,7 +2157,7 @@ public abstract class AbstractRegionMap implements RegionMap {
                     // bug #43287 - send event to server even if it's not in the client (LRU may
                     // have evicted it)
                     owner.serverInvalidate(event);
-                    if (owner.concurrencyChecksEnabled) {
+                    if (owner.getConcurrencyChecksEnabled()) {
                       if (event.getVersionTag() == null) {
                         // server did not perform the invalidation, so don't leave an invalid
                         // entry here
@@ -2219,7 +2221,8 @@ public abstract class AbstractRegionMap implements RegionMap {
                     } else { // previous value not invalid
                       event.setRegionEntry(re);
                       owner.serverInvalidate(event);
-                      if (owner.concurrencyChecksEnabled && event.noVersionReceivedFromServer()) {
+                      if (owner.getConcurrencyChecksEnabled()
+                          && event.noVersionReceivedFromServer()) {
                         // server did not perform the invalidation, so don't leave an invalid
                         // entry here
                         if (isDebugEnabled) {
@@ -3269,7 +3272,7 @@ public abstract class AbstractRegionMap implements RegionMap {
                 owner.txApplyInvalidatePart2(re, re.getKey(), true, false /* clear */);
               }
             }
-            if (owner.concurrencyChecksEnabled && txEntryState != null && cbEvent != null) {
+            if (owner.getConcurrencyChecksEnabled() && txEntryState != null && cbEvent != null) {
               txEntryState.setVersionTag(cbEvent.getVersionTag());
             }
             return;
@@ -3439,7 +3442,7 @@ public abstract class AbstractRegionMap implements RegionMap {
             }
           }
         }
-        if (owner.concurrencyChecksEnabled && txEntryState != null && cbEvent != null) {
+        if (owner.getConcurrencyChecksEnabled() && txEntryState != null && cbEvent != null) {
           txEntryState.setVersionTag(cbEvent.getVersionTag());
         }
       } catch (DiskAccessException dae) {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java
index 60aef53..0fc7014 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/AbstractUpdateOperation.java
@@ -85,9 +85,10 @@ public abstract class AbstractUpdateOperation extends DistributedCacheOperation
   private static boolean shouldDoRemoteCreate(LocalRegion rgn, EntryEventImpl ev) {
     DataPolicy dp = rgn.getAttributes().getDataPolicy();
     if (!rgn.isAllEvents() || (dp.withReplication() && rgn.isInitialized()
-        && ev.getOperation().isUpdate() && !rgn.concurrencyChecksEnabled // misordered CREATE and
-                                                                         // UPDATE messages can
-                                                                         // cause inconsistencies
+        && ev.getOperation().isUpdate() && !rgn.getConcurrencyChecksEnabled()
+        // misordered CREATE and
+        // UPDATE messages can
+        // cause inconsistencies
         && !ALWAYS_REPLICATE_UPDATES)) {
       // we are not accepting all events
       // or we are a replicate and initialized and it was an update
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java
index ecc165a..ac25c0c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/BucketRegion.java
@@ -1000,7 +1000,7 @@ public class BucketRegion extends DistributedRegion implements Bucket {
     if (event.getOperation().isLocal()) { // bug #45402 - localDestroy generated a version tag
       return false;
     }
-    return this.concurrencyChecksEnabled
+    return this.getConcurrencyChecksEnabled()
         && ((event.getVersionTag() == null) || event.getVersionTag().isGatewayTag());
   }
 
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXState.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXState.java
index 8276316..ac42e9c 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXState.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXState.java
@@ -440,8 +440,9 @@ public class DistTXState extends TXState {
       if (dtop.op.isPutAll()) {
         assert (dtop.getPutAllOperation() != null);
         // [DISTTX] TODO what do with versions next?
-        final VersionedObjectList versions = new VersionedObjectList(
-            dtop.getPutAllOperation().putAllDataSize, true, dtop.region.concurrencyChecksEnabled);
+        final VersionedObjectList versions =
+            new VersionedObjectList(dtop.getPutAllOperation().putAllDataSize, true,
+                dtop.region.getConcurrencyChecksEnabled());
         postPutAll(dtop.getPutAllOperation(), versions, dtop.region);
       } else {
         result = putEntryOnRemote(dtop, false/* ifNew */, false/* ifOld */,
@@ -456,7 +457,7 @@ public class DistTXState extends TXState {
         // [DISTTX] TODO what do with versions next?
         final VersionedObjectList versions =
             new VersionedObjectList(dtop.getRemoveAllOperation().removeAllDataSize, true,
-                dtop.region.concurrencyChecksEnabled);
+                dtop.region.getConcurrencyChecksEnabled());
         postRemoveAll(dtop.getRemoveAllOperation(), versions, dtop.region);
       } else {
         destroyOnRemote(dtop, false/* TODO [DISTTX] */, null/*
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXStateOnCoordinator.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXStateOnCoordinator.java
index 531dfbb..147c23a 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXStateOnCoordinator.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistTXStateOnCoordinator.java
@@ -333,8 +333,9 @@ public class DistTXStateOnCoordinator extends DistTXState implements DistTXCoord
       if (dtop.op.isPutAll()) {
         assert (dtop.getPutAllOperation() != null);
         // [DISTTX] TODO what do with versions next?
-        final VersionedObjectList versions = new VersionedObjectList(
-            dtop.getPutAllOperation().putAllDataSize, true, dtop.region.concurrencyChecksEnabled);
+        final VersionedObjectList versions =
+            new VersionedObjectList(dtop.getPutAllOperation().putAllDataSize, true,
+                dtop.region.getConcurrencyChecksEnabled());
         postPutAll(dtop.getPutAllOperation(), versions, dtop.region);
       } else {
         result = putEntry(dtop, false/* ifNew */, false/* ifOld */, null/* expectedOldValue */,
@@ -348,7 +349,7 @@ public class DistTXStateOnCoordinator extends DistTXState implements DistTXCoord
         // [DISTTX] TODO what do with versions next?
         final VersionedObjectList versions =
             new VersionedObjectList(dtop.getRemoveAllOperation().removeAllDataSize, true,
-                dtop.region.concurrencyChecksEnabled);
+                dtop.region.getConcurrencyChecksEnabled());
         postRemoveAll(dtop.getRemoveAllOperation(), versions, dtop.region);
       } else {
         destroyExistingEntry(dtop, false/* TODO [DISTTX] */, null/*
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java
index 16f4be9..fba0a24 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedPutAllOperation.java
@@ -225,7 +225,7 @@ public class DistributedPutAllOperation extends AbstractUpdateOperation {
     boolean returnedEv = false;
     try {
       ev.setPossibleDuplicate(entry.isPossibleDuplicate());
-      if (entry.versionTag != null && region.concurrencyChecksEnabled) {
+      if (entry.versionTag != null && region.getConcurrencyChecksEnabled()) {
         VersionSource id = entry.versionTag.getMemberID();
         if (id != null) {
           entry.versionTag.setMemberID(ev.getRegion().getVersionVector().getCanonicalId(id));
@@ -962,7 +962,7 @@ public class DistributedPutAllOperation extends AbstractUpdateOperation {
     // thread, so
     // we require an ACK if concurrency checks are enabled to make sure that the previous op has
     // finished first.
-    return super.shouldAck() || getRegion().concurrencyChecksEnabled;
+    return super.shouldAck() || getRegion().getConcurrencyChecksEnabled();
   }
 
   private PutAllEntryData[] selectVersionlessEntries() {
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 d09643f..8a0ed38 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
@@ -310,7 +310,7 @@ public class DistributedRegion extends LocalRegion implements InternalDistribute
     if (!this.generateVersionTag) {
       return true;
     }
-    return this.concurrencyChecksEnabled && (this.serverRegionProxy == null) && !isTX()
+    return this.getConcurrencyChecksEnabled() && (this.serverRegionProxy == null) && !isTX()
         && this.scope.isDistributed() && !this.dataPolicy.withReplication();
   }
 
@@ -508,7 +508,7 @@ public class DistributedRegion extends LocalRegion implements InternalDistribute
     } else {
       // bug #48205 - a retried PR operation may already have a version assigned to it
       // in another VM
-      if (event.isPossibleDuplicate() && event.getRegion().concurrencyChecksEnabled
+      if (event.isPossibleDuplicate() && event.getRegion().getConcurrencyChecksEnabled()
           && event.getVersionTag() == null && event.getEventId() != null) {
         boolean isBulkOp = event.getOperation().isPutAll() || event.getOperation().isRemoveAll();
         VersionTag tag =
@@ -521,7 +521,7 @@ public class DistributedRegion extends LocalRegion implements InternalDistribute
 
   private void markEventAsDuplicate(EntryEventImpl event) {
     event.setPossibleDuplicate(true);
-    if (concurrencyChecksEnabled && event.getVersionTag() == null) {
+    if (getConcurrencyChecksEnabled() && event.getVersionTag() == null) {
       if (event.isBulkOpInProgress()) {
         event.setVersionTag(getEventTracker().findVersionTagForBulkOp(event.getEventId()));
       } else {
@@ -546,9 +546,9 @@ public class DistributedRegion extends LocalRegion implements InternalDistribute
     if (logger.isTraceEnabled()) {
       logger.trace(
           "shouldGenerateVersionTag this.generateVersionTag={} ccenabled={} dataPolicy={} event:{}",
-          this.generateVersionTag, this.concurrencyChecksEnabled, this.dataPolicy, event);
+          this.generateVersionTag, this.getConcurrencyChecksEnabled(), this.dataPolicy, event);
     }
-    if (!this.concurrencyChecksEnabled || this.dataPolicy == DataPolicy.EMPTY
+    if (!this.getConcurrencyChecksEnabled() || this.dataPolicy == DataPolicy.EMPTY
         || !this.generateVersionTag) {
       return false;
     }
@@ -1028,7 +1028,7 @@ public class DistributedRegion extends LocalRegion implements InternalDistribute
     }
 
     // if we're versioning entries we need a region-level version vector
-    if (this.scope.isDistributed() && this.concurrencyChecksEnabled) {
+    if (this.scope.isDistributed() && this.getConcurrencyChecksEnabled()) {
       createVersionVector();
     }
 
@@ -1276,7 +1276,7 @@ public class DistributedRegion extends LocalRegion implements InternalDistribute
    */
   public void synchronizeForLostMember(InternalDistributedMember lostMember,
       VersionSource lostVersionID) {
-    if (!this.concurrencyChecksEnabled) {
+    if (!this.getConcurrencyChecksEnabled()) {
       return;
     }
     CacheDistributionAdvisor advisor = getCacheDistributionAdvisor();
@@ -1860,7 +1860,7 @@ public class DistributedRegion extends LocalRegion implements InternalDistribute
 
   @Override
   void basicClear(RegionEventImpl regionEvent, boolean cacheWrite) {
-    if (this.concurrencyChecksEnabled && !this.dataPolicy.withReplication()) {
+    if (this.getConcurrencyChecksEnabled() && !this.dataPolicy.withReplication()) {
       boolean retry = false;
       do {
         // non-replicate regions must defer to a replicate for clear/invalidate of region
@@ -1888,8 +1888,8 @@ public class DistributedRegion extends LocalRegion implements InternalDistribute
 
   @Override
   void cmnClearRegion(RegionEventImpl regionEvent, boolean cacheWrite, boolean useRVV) {
-    boolean enableRVV = useRVV && this.dataPolicy.withReplication() && this.concurrencyChecksEnabled
-        && !getDistributionManager().isLoner();
+    boolean enableRVV = useRVV && this.dataPolicy.withReplication()
+        && this.getConcurrencyChecksEnabled() && !getDistributionManager().isLoner();
 
     // Fix for 46338 - apparently multiple threads from the same VM are allowed
     // to suspend locking, which is what distributedLockForClear() does. We don't
@@ -3543,14 +3543,14 @@ public class DistributedRegion extends LocalRegion implements InternalDistribute
   @Override
   public DistributedMember getOwnerForKey(KeyInfo key) {
     assert !this.isInternalRegion() || this.isMetaRegionWithTransactions();
-    if (!this.getAttributes().getDataPolicy().withStorage() || (this.concurrencyChecksEnabled
+    if (!this.getAttributes().getDataPolicy().withStorage() || (this.getConcurrencyChecksEnabled()
         && this.getAttributes().getDataPolicy() == DataPolicy.NORMAL)) {
       // execute on random replicate
       return getRandomReplicate();
     }
     // if we are non-persistent, forward transactions to
     // a persistent member
-    if (this.concurrencyChecksEnabled && !generateVersionTag) {
+    if (this.getConcurrencyChecksEnabled() && !generateVersionTag) {
       return getRandomPersistentReplicate();
     }
     return super.getOwnerForKey(key);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java
index b4b40dc..2f19001 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRemoveAllOperation.java
@@ -215,7 +215,7 @@ public class DistributedRemoveAllOperation extends AbstractUpdateOperation {
     try {
       ev.setPossibleDuplicate(entry.isPossibleDuplicate());
       ev.setIsRedestroyedEntry(entry.getRedestroyedEntry());
-      if (entry.versionTag != null && region.concurrencyChecksEnabled) {
+      if (entry.versionTag != null && region.getConcurrencyChecksEnabled()) {
         VersionSource id = entry.versionTag.getMemberID();
         if (id != null) {
           entry.versionTag.setMemberID(ev.getRegion().getVersionVector().getCanonicalId(id));
@@ -741,7 +741,7 @@ public class DistributedRemoveAllOperation extends AbstractUpdateOperation {
     // thread, so
     // we require an ACK if concurrency checks are enabled to make sure that the previous op has
     // finished first.
-    return super.shouldAck() || getRegion().concurrencyChecksEnabled;
+    return super.shouldAck() || getRegion().getConcurrencyChecksEnabled();
   }
 
   private RemoveAllEntryData[] selectVersionlessEntries() {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java
index 575417a..2312bf6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/EntryEventImpl.java
@@ -2732,8 +2732,8 @@ public class EntryEventImpl
    * returns true if it is okay to process this event even though it has a null version
    */
   public boolean noVersionReceivedFromServer() {
-    return versionTag == null && region.concurrencyChecksEnabled && region.getServerProxy() != null
-        && !op.isLocal() && !isOriginRemote();
+    return versionTag == null && region.getConcurrencyChecksEnabled()
+        && region.getServerProxy() != null && !op.isLocal() && !isOriginRemote();
   }
 
   /** returns a copy of this event with the additional fields for WAN conflict resolution */
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java b/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java
index 84d633d..dddc45e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/InitialImageOperation.java
@@ -326,7 +326,7 @@ public class InitialImageOperation {
       Set keysOfUnfinishedOps = null;
       RegionVersionVector received_rvv = null;
       RegionVersionVector remote_rvv = null;
-      if (this.region.concurrencyChecksEnabled
+      if (this.region.getConcurrencyChecksEnabled()
           && recipient.getVersionObject().compareTo(Version.GFE_80) >= 0) {
         if (internalBeforeRequestRVV != null
             && internalBeforeRequestRVV.getRegionName().equals(this.region.getName())) {
@@ -430,7 +430,7 @@ public class InitialImageOperation {
       m.targetReinitialized = targetReinitialized;
       m.setRecipient(recipient);
 
-      if (this.region.concurrencyChecksEnabled) {
+      if (this.region.getConcurrencyChecksEnabled()) {
         if (allowDeltaGII && recoveredFromDisk) {
           if (!this.region.getDiskRegion().getRVVTrusted()) {
             if (isDebugEnabled) {
@@ -699,7 +699,7 @@ public class InitialImageOperation {
     // We have to check all of the received versions for members that
     // left during GII to see if the RVV contains them.
     RegionVersionVector rvv = this.region.getVersionVector();
-    if (this.region.concurrencyChecksEnabled && rvv != null) {
+    if (this.region.getConcurrencyChecksEnabled() && rvv != null) {
       ImageState state = this.region.getImageState();
       if (state.hasLeftMembers()) {
         Set<VersionSource> needsSync = null;
@@ -1722,14 +1722,14 @@ public class InitialImageOperation {
             }
           } else if (getSender().getVersionObject().compareTo(Version.GFE_80) < 0) {
             // older versions of the product expect a RegionStateMessage at this point
-            if (rgn.concurrencyChecksEnabled && this.versionVector == null
+            if (rgn.getConcurrencyChecksEnabled() && this.versionVector == null
                 && !recoveringForLostMember) {
               RegionVersionVector rvv = rgn.getVersionVector().getCloneForTransmission();
               RegionStateMessage.send(dm, getSender(), this.processorId, rvv, false);
             }
           }
           if (this.checkTombstoneVersions && this.versionVector != null
-              && rgn.concurrencyChecksEnabled) {
+              && rgn.getConcurrencyChecksEnabled()) {
             synchronized (rgn.getCache().getTombstoneService().getBlockGCLock()) {
               if (goWithFullGII(rgn, this.versionVector)) {
                 if (isGiiDebugEnabled) {
@@ -1901,8 +1901,8 @@ public class InitialImageOperation {
       ClusterDistributionManager dm = (ClusterDistributionManager) rgn.getDistributionManager();
 
       List chunkEntries = null;
-      chunkEntries =
-          new InitialImageVersionedEntryList(rgn.concurrencyChecksEnabled, MAX_ENTRIES_PER_CHUNK);
+      chunkEntries = new InitialImageVersionedEntryList(rgn.getConcurrencyChecksEnabled(),
+          MAX_ENTRIES_PER_CHUNK);
       DiskRegion dr = rgn.getDiskRegion();
       if (dr != null) {
         dr.setClearCountReference();
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/InternalRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/InternalRegion.java
index 59cd63a..ae59446 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/InternalRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/InternalRegion.java
@@ -98,8 +98,6 @@ public interface InternalRegion<K, V>
 
   IndexManager getIndexManager();
 
-  boolean isConcurrencyChecksEnabled();
-
   boolean isThisRegionBeingClosedOrDestroyed();
 
   CancelCriterion getCancelCriterion();
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
index f886413..70a1a26 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/LocalRegion.java
@@ -703,7 +703,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
 
   /** returns object used to guard the size() operation during tombstone removal */
   Object getSizeGuard() {
-    if (!this.concurrencyChecksEnabled) {
+    if (!this.getConcurrencyChecksEnabled()) {
       return new Object();
     } else {
       return this.fullPath; // avoids creating another sync object - could be anything unique to
@@ -1923,7 +1923,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
   public boolean containsTombstone(Object key) {
     checkReadiness();
     checkForNoAccess();
-    if (!this.concurrencyChecksEnabled) {
+    if (!this.getConcurrencyChecksEnabled()) {
       return false;
     } else {
       try {
@@ -2040,7 +2040,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
       int result = getRegionMap().size();
       // if this is a client with no tombstones then we subtract the number
       // of entries being affected by register-interest refresh
-      if (this.imageState.isClient() && !this.concurrencyChecksEnabled) {
+      if (this.imageState.isClient() && !this.getConcurrencyChecksEnabled()) {
         return result - this.imageState.getDestroyedEntriesCount();
       }
       return result - this.tombstoneCount.get();
@@ -2286,7 +2286,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
     }
 
     // if we're versioning entries we need a region-level version vector
-    if (this.concurrencyChecksEnabled && this.versionVector == null) {
+    if (this.getConcurrencyChecksEnabled() && this.versionVector == null) {
       createVersionVector();
     }
     // if not local, then recovery happens in InitialImageOperation
@@ -2690,7 +2690,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
       } else {
         closeAllCallbacks();
       }
-      if (this.concurrencyChecksEnabled && this.dataPolicy.withReplication()
+      if (this.getConcurrencyChecksEnabled() && this.dataPolicy.withReplication()
           && !this.cache.isClosed()) {
         this.cache.getTombstoneService().unscheduleTombstones(this);
       }
@@ -2782,7 +2782,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
 
     // don't allow tombstones into a client cache if it doesn't
     // have concurrency checks enabled
-    if (fromServer && value == Token.TOMBSTONE && !this.concurrencyChecksEnabled) {
+    if (fromServer && value == Token.TOMBSTONE && !this.getConcurrencyChecksEnabled()) {
       value = null;
     }
 
@@ -3270,7 +3270,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
    */
   public void expireTombstones(Map<VersionSource, Long> regionGCVersions, EventID eventID,
       FilterInfo clientRouting) {
-    if (!this.concurrencyChecksEnabled) {
+    if (!this.getConcurrencyChecksEnabled()) {
       return;
     }
     Set<Object> keys = null;
@@ -3288,7 +3288,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
   }
 
   public void expireTombstoneKeys(Set<Object> tombstoneKeys) {
-    if (this.concurrencyChecksEnabled) {
+    if (this.getConcurrencyChecksEnabled()) {
       this.cache.getTombstoneService().gcTombstoneKeys(this, tombstoneKeys);
     }
   }
@@ -3332,13 +3332,13 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
     if (this.getDataPolicy().withPersistence()) {
       return true;
     } else {
-      return this.concurrencyChecksEnabled
+      return this.getConcurrencyChecksEnabled()
           && (entry.getVersionStamp().hasValidVersion() || this.dataPolicy.withReplication());
     }
   }
 
   protected void enableConcurrencyChecks() {
-    this.concurrencyChecksEnabled = true;
+    this.setConcurrencyChecksEnabled(true);
     if (this.dataPolicy.withStorage()) {
       RegionEntryFactory versionedEntryFactory = this.entries.getEntryFactory().makeVersioned();
       Assert.assertTrue(this.entries.isEmpty(),
@@ -3349,7 +3349,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
   }
 
   protected boolean getEnableConcurrencyChecks() {
-    return this.concurrencyChecksEnabled;
+    return this.getConcurrencyChecksEnabled();
   }
 
   /**
@@ -4280,7 +4280,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
             Object val = entry.getObject();
             boolean isBytes = entry.isBytes();
             boolean isKeyOnServer = !entry.isKeyNotOnServer();
-            boolean isTombstone = this.concurrencyChecksEnabled && entry.isKeyNotOnServer()
+            boolean isTombstone = this.getConcurrencyChecksEnabled() && entry.isKeyNotOnServer()
                 && entry.getVersionTag() != null;
             final VersionTag tag = entry.getVersionTag();
             if (val instanceof Throwable) {
@@ -4532,7 +4532,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
 
         // If versioning is enabled, we will give the entry a "fake" version.
         VersionTag tag = null;
-        if (this.concurrencyChecksEnabled) {
+        if (this.getConcurrencyChecksEnabled()) {
           tag = VersionTag.create(getVersionMember());
         }
         map.initialImagePut(key, cacheTimeMillis(), value, false, false, tag, null, false);
@@ -4799,7 +4799,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
   @Override
   public void recordRecoveredVersonHolder(VersionSource member, RegionVersionHolder versionHolder,
       boolean latestOplog) {
-    if (this.concurrencyChecksEnabled) {
+    if (this.getConcurrencyChecksEnabled()) {
       // We need to update the RVV in memory
       this.versionVector.initRecoveredVersion(member, versionHolder, latestOplog);
       DiskRegion region = this.getDiskRegion();
@@ -4812,7 +4812,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
 
   @Override
   public void recordRecoveredVersionTag(VersionTag tag) {
-    if (this.concurrencyChecksEnabled) {
+    if (this.getConcurrencyChecksEnabled()) {
       this.versionVector.recordVersion(tag.getMemberID(), tag.getRegionVersion());
       DiskRegion region = this.getDiskRegion();
       // We also need to update the RVV that represents what we have persisted on disk
@@ -4824,7 +4824,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
 
   @Override
   public void setRVVTrusted(boolean rvvTrusted) {
-    if (this.concurrencyChecksEnabled) {
+    if (this.getConcurrencyChecksEnabled()) {
       DiskRegion region = this.getDiskRegion();
       // Update whether or not the RVV we have recovered is trusted (accurately represents what we
       // have on disk).
@@ -4922,7 +4922,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
         logger.trace(LogMarker.DM, "LR.basicInvalidate: this cache has already seen this event {}",
             event);
       }
-      if (this.concurrencyChecksEnabled && event.getVersionTag() != null
+      if (this.getConcurrencyChecksEnabled() && event.getVersionTag() != null
           && !event.getVersionTag().isRecorded()) {
         getVersionVector().recordVersion((InternalDistributedMember) event.getDistributedMember(),
             event.getVersionTag());
@@ -5251,11 +5251,12 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
    * expectations
    */
   private void concurrencyConfigurationCheck(VersionTag tag) {
-    if (!this.concurrencyMessageIssued && tag == null && this.concurrencyChecksEnabled) {
+    if (!this.concurrencyMessageIssued && tag == null && this.getConcurrencyChecksEnabled()) {
       this.concurrencyMessageIssued = true;
       logger.info(LocalizedMessage.create(
           LocalizedStrings.LocalRegion_SERVER_HAS_CONCURRENCY_CHECKS_ENABLED_0_BUT_CLIENT_HAS_1_FOR_REGION_2,
-          new Object[] {!this.concurrencyChecksEnabled, this.concurrencyChecksEnabled, this}));
+          new Object[] {!this.getConcurrencyChecksEnabled(), this.getConcurrencyChecksEnabled(),
+              this}));
     }
   }
 
@@ -5350,7 +5351,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
         // callbacks.
         if (processedMarker) {
           // changed to force new entry creation for consistency
-          final boolean forceNewEntry = this.concurrencyChecksEnabled;
+          final boolean forceNewEntry = this.getConcurrencyChecksEnabled();
           basicInvalidate(event, true, forceNewEntry);
           if (event.isConcurrencyConflict()) {
             // bug #45520 - we must throw this for the CacheClientUpdater
@@ -5544,7 +5545,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
         logger.trace(LogMarker.DM, "LR.basicDestroy: this cache has already seen this event {}",
             event);
       }
-      if (this.concurrencyChecksEnabled && event.getVersionTag() != null
+      if (this.getConcurrencyChecksEnabled() && event.getVersionTag() != null
           && !event.getVersionTag().isRecorded()) {
         getVersionVector().recordVersion((InternalDistributedMember) event.getDistributedMember(),
             event.getVersionTag());
@@ -5960,11 +5961,6 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
     getEventTracker().recordEvent(event);
   }
 
-  @Override
-  public boolean isConcurrencyChecksEnabled() {
-    return this.concurrencyChecksEnabled;
-  }
-
   /**
    * has the Region's event state seen this event?
    *
@@ -6394,7 +6390,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
         logger.trace(LogMarker.DM, "LR.basicDestroy: this cache has already seen this event {}",
             event);
       }
-      if (this.concurrencyChecksEnabled && event.getVersionTag() != null
+      if (this.getConcurrencyChecksEnabled() && event.getVersionTag() != null
           && !event.getVersionTag().isRecorded()) {
         getVersionVector().recordVersion((InternalDistributedMember) event.getDistributedMember(),
             event.getVersionTag());
@@ -6650,7 +6646,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
      * completes. RI does not create Tombstones because it would flood the TombstoneService with
      * unnecessary work.
      */
-    if (inTokenMode && !(this.concurrencyChecksEnabled || event.isFromRILocalDestroy())) {
+    if (inTokenMode && !(this.getConcurrencyChecksEnabled() || event.isFromRILocalDestroy())) {
       if (re.isDestroyed()) {
         getImageState().addDestroyedEntry(event.getKey());
         if (!(this instanceof HARegion)) {
@@ -6660,7 +6656,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
         }
       }
     } else {
-      if (this.concurrencyChecksEnabled && !(this instanceof HARegion)) {
+      if (this.getConcurrencyChecksEnabled() && !(this instanceof HARegion)) {
         if (logger.isDebugEnabled()) {
           logger.debug("basicDestroyPart2: {}, version={}", event.getKey(), v);
         }
@@ -8954,7 +8950,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
   // TODO: what does cmn refer to?
   void cmnClearRegion(RegionEventImpl regionEvent, boolean cacheWrite, boolean useRVV) {
     RegionVersionVector rvv = null;
-    if (useRVV && this.dataPolicy.withReplication() && this.concurrencyChecksEnabled) {
+    if (useRVV && this.dataPolicy.withReplication() && this.getConcurrencyChecksEnabled()) {
       rvv = this.versionVector.getCloneForTransmission();
     }
     clearRegionLocally(regionEvent, cacheWrite, rvv);
@@ -9198,7 +9194,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
           // in 8.0 we added transfer of tombstones with RI/getAll results for bug #40791
           boolean createTombstone = false;
           if (notOnServer) {
-            createTombstone = entry.getVersionTag() != null && this.concurrencyChecksEnabled;
+            createTombstone = entry.getVersionTag() != null && this.getConcurrencyChecksEnabled();
             allResults.put(key, null);
             if (isDebugEnabled) {
               logger.debug("Added remote result for missing key: {}", key);
@@ -9519,7 +9515,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
     }
 
     final VersionedObjectList succeeded =
-        new VersionedObjectList(map.size(), true, this.concurrencyChecksEnabled);
+        new VersionedObjectList(map.size(), true, this.getConcurrencyChecksEnabled());
 
     // if this is a transactional putAll, we will not have version information as it is only
     // generated at commit
@@ -9572,7 +9568,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
                 if (isDebugEnabled) {
                   logger.debug("putAll key {} -> {} version={}", key, value, versionTag);
                 }
-                if (versionTag == null && serverIsVersioned && concurrencyChecksEnabled
+                if (versionTag == null && serverIsVersioned && getConcurrencyChecksEnabled()
                     && dataPolicy.withStorage()) {
                   // server was unable to determine the version for this operation.
                   // I'm not sure this can still happen as described below on a pr.
@@ -9735,7 +9731,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
     }
 
     final VersionedObjectList succeeded =
-        new VersionedObjectList(keys.size(), true, this.concurrencyChecksEnabled);
+        new VersionedObjectList(keys.size(), true, this.getConcurrencyChecksEnabled());
 
     // If this is a transactional removeAll, we will not have version information as it is only
     // generated at commit
@@ -10092,7 +10088,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
   public void postPutAllFireEvents(DistributedPutAllOperation putAllOp,
       VersionedObjectList successfulPuts) {
 
-    if (!this.dataPolicy.withStorage() && this.concurrencyChecksEnabled
+    if (!this.dataPolicy.withStorage() && this.getConcurrencyChecksEnabled()
         && putAllOp.getBaseEvent().isBridgeEvent()) {
       // if there is no local storage we need to transfer version information
       // to the successfulPuts list for transmission back to the client
@@ -10126,7 +10122,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
   public void postRemoveAllFireEvents(DistributedRemoveAllOperation removeAllOp,
       VersionedObjectList successfulOps) {
 
-    if (!this.dataPolicy.withStorage() && this.concurrencyChecksEnabled
+    if (!this.dataPolicy.withStorage() && this.getConcurrencyChecksEnabled()
         && removeAllOp.getBaseEvent().isBridgeEvent()) {
       // if there is no local storage we need to transfer version information
       // to the successfulOps list for transmission back to the client
@@ -10265,7 +10261,7 @@ public class LocalRegion extends AbstractRegion implements LoaderHelperFactory,
    * @return true if synchronization should be attempted
    */
   public boolean shouldSyncForCrashedMember(InternalDistributedMember id) {
-    return this.concurrencyChecksEnabled && this.dataPolicy.withReplication()
+    return this.getConcurrencyChecksEnabled() && this.dataPolicy.withReplication()
         && !this.isUsedForPartitionedRegionAdmin && !this.isUsedForMetaRegion
         && !this.isUsedForSerialGatewaySenderQueue;
   }
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 eed6176..65a3616 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
@@ -313,7 +313,7 @@ public class LocalRegionDataView implements InternalDataView {
   @Override
   public void postPutAll(DistributedPutAllOperation putallOp, VersionedObjectList successfulPuts,
       LocalRegion region) {
-    if (!region.dataPolicy.withStorage() && region.concurrencyChecksEnabled
+    if (!region.dataPolicy.withStorage() && region.getConcurrencyChecksEnabled()
         && putallOp.getBaseEvent().isBridgeEvent()) {
       // if there is no local storage we need to transfer version information
       // to the successfulPuts list for transmission back to the client
@@ -335,7 +335,7 @@ public class LocalRegionDataView implements InternalDataView {
   @Override
   public void postRemoveAll(DistributedRemoveAllOperation op, VersionedObjectList successfulOps,
       LocalRegion region) {
-    if (!region.dataPolicy.withStorage() && region.concurrencyChecksEnabled
+    if (!region.dataPolicy.withStorage() && region.getConcurrencyChecksEnabled()
         && op.getBaseEvent().isBridgeEvent()) {
       // if there is no local storage we need to transfer version information
       // to the successfulOps list for transmission back to the client
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegion.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegion.java
index c14743d..46ed972 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegion.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegion.java
@@ -56,8 +56,6 @@ import org.apache.geode.StatisticsFactory;
 import org.apache.geode.SystemFailure;
 import org.apache.geode.cache.AttributesFactory;
 import org.apache.geode.cache.AttributesMutator;
-import org.apache.geode.cache.Cache;
-import org.apache.geode.cache.CacheClosedException;
 import org.apache.geode.cache.CacheException;
 import org.apache.geode.cache.CacheListener;
 import org.apache.geode.cache.CacheLoader;
@@ -904,12 +902,12 @@ public class PartitionedRegion extends LocalRegion
 
   private void createAndValidatePersistentConfig() {
     DiskStoreImpl dsi = this.getDiskStore();
-    if (this.dataPolicy.withPersistence() && !this.concurrencyChecksEnabled
+    if (this.dataPolicy.withPersistence() && !this.getConcurrencyChecksEnabled()
         && supportsConcurrencyChecks()) {
       logger.info(LocalizedMessage.create(
           LocalizedStrings.PartitionedRegion_ENABLING_CONCURRENCY_CHECKS_FOR_PERSISTENT_PR,
           this.getFullPath()));
-      this.concurrencyChecksEnabled = true;
+      this.setConcurrencyChecksEnabled(true);
     }
     if (dsi != null && this.getDataPolicy().withPersistence()) {
       String colocatedWith = colocatedWithRegion == null ? "" : colocatedWithRegion.getFullPath();
@@ -1006,7 +1004,7 @@ public class PartitionedRegion extends LocalRegion
       // after toggling the concurrencyChecksEnabled flag. This is
       // required because for persistent regions, we enforce concurrencyChecks
       if (!this.isDataStore() && supportsConcurrencyChecks()) {
-        this.concurrencyChecksEnabled = !this.concurrencyChecksEnabled;
+        this.setConcurrencyChecksEnabled(!this.getConcurrencyChecksEnabled());
         new CreateRegionProcessor(this).initializeRegion();
       } else {
         throw e;
@@ -2053,7 +2051,7 @@ public class PartitionedRegion extends LocalRegion
     }
     if (!result) {
       checkReadiness();
-      if (!ifNew && !ifOld && !this.concurrencyChecksEnabled) {
+      if (!ifNew && !ifOld && !this.getConcurrencyChecksEnabled()) {
         // may fail due to concurrency conflict
         // failed for unknown reason
         // throw new PartitionedRegionStorageException("unable to execute operation");
@@ -2177,7 +2175,7 @@ public class PartitionedRegion extends LocalRegion
         if (versions.size() > 0) {
           partialKeys.addKeysAndVersions(versions);
           versions.saveVersions(keyToVersionMap);
-        } else if (!this.concurrencyChecksEnabled) { // no keys returned if not versioned
+        } else if (!this.getConcurrencyChecksEnabled()) { // no keys returned if not versioned
           Set keys = prMsg.getKeys();
           partialKeys.addKeys(keys);
         }
@@ -2268,7 +2266,7 @@ public class PartitionedRegion extends LocalRegion
         if (versions.size() > 0) {
           partialKeys.addKeysAndVersions(versions);
           versions.saveVersions(keyToVersionMap);
-        } else if (!this.concurrencyChecksEnabled) { // no keys returned if not versioned
+        } else if (!this.getConcurrencyChecksEnabled()) { // no keys returned if not versioned
           Set keys = prMsg.getKeys();
           partialKeys.addKeys(keys);
         }
@@ -8033,7 +8031,7 @@ public class PartitionedRegion extends LocalRegion
   @Override
   protected void enableConcurrencyChecks() {
     if (supportsConcurrencyChecks()) {
-      this.concurrencyChecksEnabled = true;
+      this.setConcurrencyChecksEnabled(true);
       assert !isDataStore();
     }
   }
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java
index 31710d9..b3af612 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java
@@ -695,7 +695,7 @@ public class PartitionedRegionDataStore implements HasCachePerfStats {
     } else {
       factory.setScope(Scope.DISTRIBUTED_ACK);
     }
-    factory.setConcurrencyChecksEnabled(this.partitionedRegion.concurrencyChecksEnabled);
+    factory.setConcurrencyChecksEnabled(this.partitionedRegion.getConcurrencyChecksEnabled());
     factory.setIndexMaintenanceSynchronous(this.partitionedRegion.getIndexMaintenanceSynchronous());
 
     if (this.partitionedRegion.getValueConstraint() != null) {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutAllMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutAllMessage.java
index cf70d9a..a9845b1 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutAllMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RemotePutAllMessage.java
@@ -370,7 +370,7 @@ public class RemotePutAllMessage extends RemoteOperationMessageWithDirectReply {
           new DistributedPutAllOperation(baseEvent, putAllDataCount, false);
       try {
         final VersionedObjectList versions =
-            new VersionedObjectList(putAllDataCount, true, dr.concurrencyChecksEnabled);
+            new VersionedObjectList(putAllDataCount, true, dr.getConcurrencyChecksEnabled());
         dr.syncBulkOp(new Runnable() {
           @SuppressWarnings("synthetic-access")
           public void run() {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteRemoveAllMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteRemoveAllMessage.java
index 0ec9178..c40680e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteRemoveAllMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/RemoteRemoveAllMessage.java
@@ -360,7 +360,7 @@ public class RemoteRemoveAllMessage extends RemoteOperationMessageWithDirectRepl
           new DistributedRemoveAllOperation(baseEvent, removeAllDataCount, false);
       try {
         final VersionedObjectList versions =
-            new VersionedObjectList(removeAllDataCount, true, dr.concurrencyChecksEnabled);
+            new VersionedObjectList(removeAllDataCount, true, dr.getConcurrencyChecksEnabled());
         dr.syncBulkOp(new Runnable() {
           @SuppressWarnings("synthetic-access")
           public void run() {
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java
index 053dc8c..33edc45 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXEntryState.java
@@ -1862,7 +1862,7 @@ public class TXEntryState implements Releasable {
     DataSerializer.writeObject(getFilterRoutingInfo(), out);
     if (sendVersionTag) {
       DataSerializer.writeObject(getVersionTag(), out);
-      assert getVersionTag() != null || !txRegionState.getRegion().concurrencyChecksEnabled
+      assert getVersionTag() != null || !txRegionState.getRegion().getConcurrencyChecksEnabled()
           || txRegionState.getRegion().dataPolicy != DataPolicy.REPLICATE : "tag:" + getVersionTag()
               + " r:" + txRegionState.getRegion() + " op:" + opToString() + " key:";
     }
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractRegionEntry.java b/geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractRegionEntry.java
index 59afe78..fb00378 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractRegionEntry.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/entries/AbstractRegionEntry.java
@@ -892,7 +892,7 @@ public abstract class AbstractRegionEntry implements RegionEntry, HashEntry<Obje
 
       boolean removeEntry = false;
       VersionTag v = event.getVersionTag();
-      if (region.isConcurrencyChecksEnabled() && !removeRecoveredEntry
+      if (region.getConcurrencyChecksEnabled() && !removeRecoveredEntry
           && !event.isFromRILocalDestroy()) {
         // bug #46780, don't retain tombstones for entries destroyed for register-interest
         // Destroy will write a tombstone instead
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/entries/DiskEntry.java b/geode-core/src/main/java/org/apache/geode/internal/cache/entries/DiskEntry.java
index 3dea4f9..0801101 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/entries/DiskEntry.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/entries/DiskEntry.java
@@ -937,7 +937,7 @@ public interface DiskEntry extends RegionEntry {
           } else {
             // If we have concurrency checks enabled for a persistent region, we need
             // to add an entry to the async queue for every update to maintain the RVV
-            boolean maintainRVV = region.isConcurrencyChecksEnabled();
+            boolean maintainRVV = region.getConcurrencyChecksEnabled();
 
             if (!did.isPendingAsync() || maintainRVV) {
               // if the entry is not async, we need to schedule it
@@ -1570,7 +1570,7 @@ public interface DiskEntry extends RegionEntry {
       } else {
         // If we have concurrency checks enabled for a persistent region, we need
         // to add an entry to the async queue for every update to maintain the RVV
-        boolean maintainRVV = region.isConcurrencyChecksEnabled() && dr.isBackup();
+        boolean maintainRVV = region.getConcurrencyChecksEnabled() && dr.isBackup();
         if (!did.isPendingAsync() || maintainRVV) {
           did.setPendingAsync(true);
           VersionTag tag = null;
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/AbstractRegionJUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/AbstractRegionJUnitTest.java
index 5bb427c..de34733 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/AbstractRegionJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/AbstractRegionJUnitTest.java
@@ -562,11 +562,6 @@ public class AbstractRegionJUnitTest {
     }
 
     @Override
-    public boolean isConcurrencyChecksEnabled() {
-      throw new UnsupportedOperationException();
-    }
-
-    @Override
     public boolean isThisRegionBeingClosedOrDestroyed() {
       throw new UnsupportedOperationException();
     }
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/ClientServerInvalidAndDestroyedEntryDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/ClientServerInvalidAndDestroyedEntryDUnitTest.java
index 26f0771..c19412b 100755
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/ClientServerInvalidAndDestroyedEntryDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/ClientServerInvalidAndDestroyedEntryDUnitTest.java
@@ -475,16 +475,18 @@ public class ClientServerInvalidAndDestroyedEntryDUnitTest extends JUnit4CacheTe
                 event.setRegion(bucket);
                 org.apache.geode.test.dunit.LogWriterUtils.getLogWriter()
                     .info("performing local destroy in " + bucket + " ccEnabled="
-                        + bucket.concurrencyChecksEnabled + " rvv=" + bucket.getVersionVector());
-                bucket.concurrencyChecksEnabled = false; // turn off cc so entry is removed
+                        + bucket.getConcurrencyChecksEnabled() + " rvv="
+                        + bucket.getVersionVector());
+                bucket.setConcurrencyChecksEnabled(false); // turn off cc so entry is removed
                 bucket.mapDestroy(event, false, false, null);
-                bucket.concurrencyChecksEnabled = true;
+                bucket.setConcurrencyChecksEnabled(true);
               }
             } else {
-              ((LocalRegion) myRegion).concurrencyChecksEnabled = false; // turn off cc so entry is
-                                                                         // removed
+              ((LocalRegion) myRegion).setConcurrencyChecksEnabled(false); // turn off cc so entry
+                                                                           // is
+              // removed
               ((LocalRegion) myRegion).mapDestroy(event, false, false, null);
-              ((LocalRegion) myRegion).concurrencyChecksEnabled = true;
+              ((LocalRegion) myRegion).setConcurrencyChecksEnabled(true);
             }
           }
         };

-- 
To stop receiving notification emails like this one, please contact
['"commits@geode.apache.org" <co...@geode.apache.org>'].