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>'].