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/04/27 16:46:00 UTC
[geode] branch develop updated: GEODE-5134: pendingCallbacks is
never null (#1863)
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 fafaf0b GEODE-5134: pendingCallbacks is never null (#1863)
fafaf0b is described below
commit fafaf0b454f96662d41c589b278afedd26e9312b
Author: Darrel Schneider <ds...@pivotal.io>
AuthorDate: Fri Apr 27 09:45:55 2018 -0700
GEODE-5134: pendingCallbacks is never null (#1863)
The tx* method implementations now always expect the pendingCallbacks parameter to not be null.
Also "cb" was renamed to "callback" for clarity.
---
.../geode/internal/cache/AbstractRegionMap.java | 452 +++++++++------------
.../geode/internal/cache/ProxyRegionMap.java | 68 +---
.../geode/internal/cache/TXCommitMessage.java | 4 +-
.../internal/cache/AbstractRegionMapTest.java | 8 +-
4 files changed, 225 insertions(+), 307 deletions(-)
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 ac27052..5e7a09b 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
@@ -1040,13 +1040,14 @@ public abstract class AbstractRegionMap
List<EntryEventImpl> pendingCallbacks, FilterRoutingInfo filterRoutingInfo,
ClientProxyMembershipID bridgeContext, boolean isOriginRemote, TXEntryState txEntryState,
VersionTag versionTag, long tailKey) {
+ assert pendingCallbacks != null;
final boolean isDebugEnabled = logger.isDebugEnabled();
final LocalRegion owner = _getOwner();
final boolean isRegionReady = !inTokenMode;
final boolean hasRemoteOrigin = !((TXId) txId).getMemberId().equals(owner.getMyId());
- boolean cbEventInPending = false;
+ boolean callbackEventAddedToPending = false;
IndexManager oqlIndexManager = owner.getIndexManager();
try {
RegionEntry re = getEntry(key);
@@ -1065,20 +1066,20 @@ public abstract class AbstractRegionMap
// Create an entry event only if the calling context is
// a receipt of a TXCommitMessage AND there are callbacks installed
// for this region
- boolean invokeCallbacks = shouldCreateCBEvent(owner, isRegionReady || inRI);
+ boolean invokeCallbacks = shouldCreateCallbackEvent(owner, isRegionReady || inRI);
@Released
- EntryEventImpl cbEvent =
- createCBEvent(owner, op, key, null, txId, txEvent, eventId, aCallbackArgument,
- filterRoutingInfo, bridgeContext, txEntryState, versionTag, tailKey);
+ EntryEventImpl callbackEvent = createCallbackEvent(owner, op, key, null, txId,
+ txEvent, eventId, aCallbackArgument, filterRoutingInfo, bridgeContext,
+ txEntryState, versionTag, tailKey);
try {
if (owner.isUsedForPartitionedRegionBucket()) {
- txHandleWANEvent(owner, cbEvent, txEntryState);
+ txHandleWANEvent(owner, callbackEvent, txEntryState);
}
- cbEvent.setRegionEntry(re);
- cbEvent.setOldValue(oldValue);
+ callbackEvent.setRegionEntry(re);
+ callbackEvent.setOldValue(oldValue);
if (isDebugEnabled) {
- logger.debug("txApplyDestroy cbEvent={}", cbEvent);
+ logger.debug("txApplyDestroy callbackEvent={}", callbackEvent);
}
txRemoveOldIndexEntry(Operation.DESTROY, re);
@@ -1087,7 +1088,7 @@ public abstract class AbstractRegionMap
}
boolean clearOccured = false;
try {
- processAndGenerateTXVersionTag(owner, cbEvent, re, txEntryState);
+ processAndGenerateTXVersionTag(owner, callbackEvent, re, txEntryState);
if (inTokenMode) {
if (oldValue == Token.TOMBSTONE) {
owner.unscheduleTombstone(re);
@@ -1096,9 +1097,9 @@ public abstract class AbstractRegionMap
} else {
if (!re.isTombstone()) {
{
- if (shouldPerformConcurrencyChecks(owner, cbEvent)
- && cbEvent.getVersionTag() != null) {
- re.makeTombstone(owner, cbEvent.getVersionTag());
+ if (shouldPerformConcurrencyChecks(owner, callbackEvent)
+ && callbackEvent.getVersionTag() != null) {
+ re.makeTombstone(owner, callbackEvent.getVersionTag());
} else {
re.removePhase1(owner, false); // fix for bug 43063
re.removePhase2();
@@ -1117,25 +1118,20 @@ public abstract class AbstractRegionMap
owner.txApplyDestroyPart2(re, re.getKey(), inTokenMode,
clearOccured /* Clear Conflciting with the operation */);
if (invokeCallbacks) {
- switchEventOwnerAndOriginRemote(cbEvent, hasRemoteOrigin);
- if (pendingCallbacks == null) {
- owner.invokeTXCallbacks(EnumListenerEvent.AFTER_DESTROY, cbEvent,
- true/* callDispatchListenerEvent */);
- } else {
- pendingCallbacks.add(cbEvent);
- cbEventInPending = true;
- }
+ switchEventOwnerAndOriginRemote(callbackEvent, hasRemoteOrigin);
+ pendingCallbacks.add(callbackEvent);
+ callbackEventAddedToPending = true;
}
if (!clearOccured) {
lruEntryDestroy(re);
}
if (owner.getConcurrencyChecksEnabled() && txEntryState != null
- && cbEvent != null) {
- txEntryState.setVersionTag(cbEvent.getVersionTag());
+ && callbackEvent != null) {
+ txEntryState.setVersionTag(callbackEvent.getVersionTag());
}
} finally {
- if (!cbEventInPending)
- cbEvent.release();
+ if (!callbackEventAddedToPending)
+ callbackEvent.release();
}
}
}
@@ -1155,7 +1151,7 @@ public abstract class AbstractRegionMap
if (oqlIndexManager != null) {
oqlIndexManager.waitForIndexInit();
}
- EntryEventImpl cbEvent = null;
+ EntryEventImpl callbackEvent = null;
try {
synchronized (newRe) {
RegionEntry oldRe = putEntryIfAbsent(key, newRe);
@@ -1167,29 +1163,25 @@ public abstract class AbstractRegionMap
oldRe = putEntryIfAbsent(key, newRe);
} else {
try {
- boolean invokeCallbacks = shouldCreateCBEvent(owner, isRegionReady || inRI);
- cbEvent = createCBEvent(owner, op, key, null, txId, txEvent, eventId,
- aCallbackArgument, filterRoutingInfo, bridgeContext, txEntryState,
+ boolean invokeCallbacks =
+ shouldCreateCallbackEvent(owner, isRegionReady || inRI);
+ callbackEvent = createCallbackEvent(owner, op, key, null, txId, txEvent,
+ eventId, aCallbackArgument, filterRoutingInfo, bridgeContext, txEntryState,
versionTag, tailKey);
try {
- cbEvent.setRegionEntry(oldRe);
- cbEvent.setOldValue(Token.NOT_AVAILABLE);
+ callbackEvent.setRegionEntry(oldRe);
+ callbackEvent.setOldValue(Token.NOT_AVAILABLE);
if (isDebugEnabled) {
- logger.debug("txApplyDestroy token mode cbEvent={}", cbEvent);
+ logger.debug("txApplyDestroy token mode callbackEvent={}", callbackEvent);
}
if (owner.isUsedForPartitionedRegionBucket()) {
- txHandleWANEvent(owner, cbEvent, txEntryState);
+ txHandleWANEvent(owner, callbackEvent, txEntryState);
}
- processAndGenerateTXVersionTag(owner, cbEvent, oldRe, txEntryState);
+ processAndGenerateTXVersionTag(owner, callbackEvent, oldRe, txEntryState);
if (invokeCallbacks) {
- switchEventOwnerAndOriginRemote(cbEvent, hasRemoteOrigin);
- if (pendingCallbacks == null) {
- owner.invokeTXCallbacks(EnumListenerEvent.AFTER_DESTROY, cbEvent,
- dispatchListenerEvent);
- } else {
- pendingCallbacks.add(cbEvent);
- cbEventInPending = true;
- }
+ switchEventOwnerAndOriginRemote(callbackEvent, hasRemoteOrigin);
+ pendingCallbacks.add(callbackEvent);
+ callbackEventAddedToPending = true;
}
int oldSize = 0;
boolean wasTombstone = oldRe.isTombstone();
@@ -1208,16 +1200,16 @@ public abstract class AbstractRegionMap
false /* Clear Conflicting with the operation */);
lruEntryDestroy(oldRe);
} finally {
- if (!cbEventInPending)
- cbEvent.release();
+ if (!callbackEventAddedToPending)
+ callbackEvent.release();
}
} catch (RegionClearedException rce) {
owner.txApplyDestroyPart2(oldRe, oldRe.getKey(), inTokenMode,
true /* Clear Conflicting with the operation */);
}
- if (shouldPerformConcurrencyChecks(owner, cbEvent)
- && cbEvent.getVersionTag() != null) {
- oldRe.makeTombstone(owner, cbEvent.getVersionTag());
+ if (shouldPerformConcurrencyChecks(owner, callbackEvent)
+ && callbackEvent.getVersionTag() != null) {
+ oldRe.makeTombstone(owner, callbackEvent.getVersionTag());
} else if (!inTokenMode) {
// only remove for NORMAL regions if they do not generate versions see 51781
oldRe.removePhase1(owner, false); // fix for bug 43063
@@ -1231,35 +1223,30 @@ public abstract class AbstractRegionMap
if (!opCompleted) {
// already has value set to Token.DESTROYED
opCompleted = true;
- boolean invokeCallbacks = shouldCreateCBEvent(owner, isRegionReady || inRI);
- cbEvent =
- createCBEvent(owner, op, key, null, txId, txEvent, eventId, aCallbackArgument,
- filterRoutingInfo, bridgeContext, txEntryState, versionTag, tailKey);
+ boolean invokeCallbacks = shouldCreateCallbackEvent(owner, isRegionReady || inRI);
+ callbackEvent = createCallbackEvent(owner, op, key, null, txId, txEvent, eventId,
+ aCallbackArgument, filterRoutingInfo, bridgeContext, txEntryState, versionTag,
+ tailKey);
try {
- cbEvent.setRegionEntry(newRe);
- cbEvent.setOldValue(Token.NOT_AVAILABLE);
+ callbackEvent.setRegionEntry(newRe);
+ callbackEvent.setOldValue(Token.NOT_AVAILABLE);
if (isDebugEnabled) {
- logger.debug("txApplyDestroy token mode cbEvent={}", cbEvent);
+ logger.debug("txApplyDestroy token mode callbackEvent={}", callbackEvent);
}
if (owner.isUsedForPartitionedRegionBucket()) {
- txHandleWANEvent(owner, cbEvent, txEntryState);
+ txHandleWANEvent(owner, callbackEvent, txEntryState);
}
- processAndGenerateTXVersionTag(owner, cbEvent, newRe, txEntryState);
+ processAndGenerateTXVersionTag(owner, callbackEvent, newRe, txEntryState);
if (invokeCallbacks) {
- switchEventOwnerAndOriginRemote(cbEvent, hasRemoteOrigin);
- if (pendingCallbacks == null) {
- owner.invokeTXCallbacks(EnumListenerEvent.AFTER_DESTROY, cbEvent,
- dispatchListenerEvent);
- } else {
- pendingCallbacks.add(cbEvent);
- cbEventInPending = true;
- }
+ switchEventOwnerAndOriginRemote(callbackEvent, hasRemoteOrigin);
+ pendingCallbacks.add(callbackEvent);
+ callbackEventAddedToPending = true;
}
EntryLogger.logTXDestroy(_getOwnerObject(), key);
owner.updateSizeOnCreate(newRe.getKey(), 0);
- if (shouldPerformConcurrencyChecks(owner, cbEvent)
- && cbEvent.getVersionTag() != null) {
- newRe.makeTombstone(owner, cbEvent.getVersionTag());
+ if (shouldPerformConcurrencyChecks(owner, callbackEvent)
+ && callbackEvent.getVersionTag() != null) {
+ newRe.makeTombstone(owner, callbackEvent.getVersionTag());
} else if (!inTokenMode) {
// only remove for NORMAL regions if they do not generate versions see 51781
newRe.removePhase1(owner, false); // fix for bug 43063
@@ -1271,12 +1258,13 @@ public abstract class AbstractRegionMap
// Note no need for LRU work since the entry is destroyed
// and will be removed when gii completes
} finally {
- if (!cbEventInPending)
- cbEvent.release();
+ if (!callbackEventAddedToPending)
+ callbackEvent.release();
}
}
- if (owner.getConcurrencyChecksEnabled() && txEntryState != null && cbEvent != null) {
- txEntryState.setVersionTag(cbEvent.getVersionTag());
+ if (owner.getConcurrencyChecksEnabled() && txEntryState != null
+ && callbackEvent != null) {
+ txEntryState.setVersionTag(callbackEvent.getVersionTag());
}
}
} catch (RegionClearedException e) {
@@ -1293,22 +1281,19 @@ public abstract class AbstractRegionMap
// causing region entry to be absent.
// Notify clients with client events.
@Released
- EntryEventImpl cbEvent = createCBEvent(owner, op, key, null, txId, txEvent, eventId,
- aCallbackArgument, filterRoutingInfo, bridgeContext, txEntryState, versionTag, tailKey);
+ EntryEventImpl callbackEvent =
+ createCallbackEvent(owner, op, key, null, txId, txEvent, eventId, aCallbackArgument,
+ filterRoutingInfo, bridgeContext, txEntryState, versionTag, tailKey);
try {
if (owner.isUsedForPartitionedRegionBucket()) {
- txHandleWANEvent(owner, cbEvent, txEntryState);
- }
- switchEventOwnerAndOriginRemote(cbEvent, hasRemoteOrigin);
- if (pendingCallbacks == null) {
- owner.invokeTXCallbacks(EnumListenerEvent.AFTER_DESTROY, cbEvent, false);
- } else {
- pendingCallbacks.add(cbEvent);
- cbEventInPending = true;
+ txHandleWANEvent(owner, callbackEvent, txEntryState);
}
+ switchEventOwnerAndOriginRemote(callbackEvent, hasRemoteOrigin);
+ pendingCallbacks.add(callbackEvent);
+ callbackEventAddedToPending = true;
} finally {
- if (!cbEventInPending)
- cbEvent.release();
+ if (!callbackEventAddedToPending)
+ callbackEvent.release();
}
}
} catch (DiskAccessException dae) {
@@ -1834,11 +1819,12 @@ public abstract class AbstractRegionMap
List<EntryEventImpl> pendingCallbacks, FilterRoutingInfo filterRoutingInfo,
ClientProxyMembershipID bridgeContext, TXEntryState txEntryState, VersionTag versionTag,
long tailKey) {
+ assert pendingCallbacks != null;
// boolean didInvalidate = false;
final LocalRegion owner = _getOwner();
@Released
- EntryEventImpl cbEvent = null;
+ EntryEventImpl callbackEvent = null;
boolean forceNewEntry = !owner.isInitialized() && owner.isAllEvents();
final boolean hasRemoteOrigin = !((TXId) txId).getMemberId().equals(owner.getMyId());
@@ -1872,17 +1858,17 @@ public abstract class AbstractRegionMap
// a receipt of a TXCommitMessage AND there are callbacks
// installed
// for this region
- boolean invokeCallbacks = shouldCreateCBEvent(owner, owner.isInitialized());
- boolean cbEventInPending = false;
- cbEvent = createCBEvent(owner,
+ boolean invokeCallbacks = shouldCreateCallbackEvent(owner, owner.isInitialized());
+ boolean callbackEventInPending = false;
+ callbackEvent = createCallbackEvent(owner,
localOp ? Operation.LOCAL_INVALIDATE : Operation.INVALIDATE, key, newValue,
txId, txEvent, eventId, aCallbackArgument, filterRoutingInfo, bridgeContext,
txEntryState, versionTag, tailKey);
try {
- cbEvent.setRegionEntry(oldRe);
- cbEvent.setOldValue(oldValue);
+ callbackEvent.setRegionEntry(oldRe);
+ callbackEvent.setOldValue(oldValue);
if (logger.isDebugEnabled()) {
- logger.debug("txApplyInvalidate cbEvent={}", cbEvent);
+ logger.debug("txApplyInvalidate callbackEvent={}", callbackEvent);
}
txRemoveOldIndexEntry(Operation.INVALIDATE, oldRe);
@@ -1894,7 +1880,7 @@ public abstract class AbstractRegionMap
aCallbackArgument);
}
oldRe.setValueResultOfSearch(false);
- processAndGenerateTXVersionTag(owner, cbEvent, oldRe, txEntryState);
+ processAndGenerateTXVersionTag(owner, callbackEvent, oldRe, txEntryState);
boolean clearOccured = false;
try {
oldRe.setValue(owner, oldRe.prepareValueForCache(owner, newValue, true));
@@ -1909,42 +1895,38 @@ public abstract class AbstractRegionMap
owner.txApplyInvalidatePart2(oldRe, oldRe.getKey(), didDestroy, true);
// didInvalidate = true;
if (invokeCallbacks) {
- switchEventOwnerAndOriginRemote(cbEvent, hasRemoteOrigin);
- if (pendingCallbacks == null) {
- owner.invokeTXCallbacks(EnumListenerEvent.AFTER_INVALIDATE, cbEvent,
- true/* callDispatchListenerEvent */);
- } else {
- pendingCallbacks.add(cbEvent);
- cbEventInPending = true;
- }
+ switchEventOwnerAndOriginRemote(callbackEvent, hasRemoteOrigin);
+ pendingCallbacks.add(callbackEvent);
+ callbackEventInPending = true;
}
if (!clearOccured) {
lruEntryUpdate(oldRe);
}
- if (shouldPerformConcurrencyChecks(owner, cbEvent) && txEntryState != null) {
- txEntryState.setVersionTag(cbEvent.getVersionTag());
+ if (shouldPerformConcurrencyChecks(owner, callbackEvent)
+ && txEntryState != null) {
+ txEntryState.setVersionTag(callbackEvent.getVersionTag());
}
} finally {
- if (!cbEventInPending)
- cbEvent.release();
+ if (!callbackEventInPending)
+ callbackEvent.release();
}
}
}
}
if (!opCompleted) {
- boolean invokeCallbacks = shouldCreateCBEvent(owner, owner.isInitialized());
- boolean cbEventInPending = false;
- cbEvent =
- createCBEvent(owner, localOp ? Operation.LOCAL_INVALIDATE : Operation.INVALIDATE,
- key, newValue, txId, txEvent, eventId, aCallbackArgument, filterRoutingInfo,
- bridgeContext, txEntryState, versionTag, tailKey);
+ boolean invokeCallbacks = shouldCreateCallbackEvent(owner, owner.isInitialized());
+ boolean callbackEventInPending = false;
+ callbackEvent = createCallbackEvent(owner,
+ localOp ? Operation.LOCAL_INVALIDATE : Operation.INVALIDATE, key, newValue, txId,
+ txEvent, eventId, aCallbackArgument, filterRoutingInfo, bridgeContext,
+ txEntryState, versionTag, tailKey);
try {
- cbEvent.setRegionEntry(newRe);
+ callbackEvent.setRegionEntry(newRe);
txRemoveOldIndexEntry(Operation.INVALIDATE, newRe);
newRe.setValueResultOfSearch(false);
boolean clearOccured = false;
try {
- processAndGenerateTXVersionTag(owner, cbEvent, newRe, txEntryState);
+ processAndGenerateTXVersionTag(owner, callbackEvent, newRe, txEntryState);
newRe.setValue(owner, newRe.prepareValueForCache(owner, newValue, true));
EntryLogger.logTXInvalidate(_getOwnerObject(), key);
owner.updateSizeOnCreate(newRe.getKey(), 0);// we are putting in a new invalidated
@@ -1955,26 +1937,21 @@ public abstract class AbstractRegionMap
owner.txApplyInvalidatePart2(newRe, newRe.getKey(), didDestroy, true);
if (invokeCallbacks) {
- switchEventOwnerAndOriginRemote(cbEvent, hasRemoteOrigin);
- if (pendingCallbacks == null) {
- owner.invokeTXCallbacks(EnumListenerEvent.AFTER_INVALIDATE, cbEvent,
- true/* callDispatchListenerEvent */);
- } else {
- pendingCallbacks.add(cbEvent);
- cbEventInPending = true;
- }
+ switchEventOwnerAndOriginRemote(callbackEvent, hasRemoteOrigin);
+ pendingCallbacks.add(callbackEvent);
+ callbackEventInPending = true;
}
opCompleted = true;
if (!clearOccured) {
lruEntryCreate(newRe);
incEntryCount(1);
}
- if (shouldPerformConcurrencyChecks(owner, cbEvent) && txEntryState != null) {
- txEntryState.setVersionTag(cbEvent.getVersionTag());
+ if (shouldPerformConcurrencyChecks(owner, callbackEvent) && txEntryState != null) {
+ txEntryState.setVersionTag(callbackEvent.getVersionTag());
}
} finally {
- if (!cbEventInPending)
- cbEvent.release();
+ if (!callbackEventInPending)
+ callbackEvent.release();
}
}
} finally {
@@ -1995,15 +1972,15 @@ public abstract class AbstractRegionMap
// a receipt of a TXCommitMessage AND there are callbacks
// installed
// for this region
- boolean invokeCallbacks = shouldCreateCBEvent(owner, owner.isInitialized());
- boolean cbEventInPending = false;
- cbEvent =
- createCBEvent(owner, localOp ? Operation.LOCAL_INVALIDATE : Operation.INVALIDATE,
- key, newValue, txId, txEvent, eventId, aCallbackArgument, filterRoutingInfo,
- bridgeContext, txEntryState, versionTag, tailKey);
+ boolean invokeCallbacks = shouldCreateCallbackEvent(owner, owner.isInitialized());
+ boolean callbackEventInPending = false;
+ callbackEvent = createCallbackEvent(owner,
+ localOp ? Operation.LOCAL_INVALIDATE : Operation.INVALIDATE, key, newValue, txId,
+ txEvent, eventId, aCallbackArgument, filterRoutingInfo, bridgeContext,
+ txEntryState, versionTag, tailKey);
try {
- cbEvent.setRegionEntry(re);
- cbEvent.setOldValue(oldValue);
+ callbackEvent.setRegionEntry(re);
+ callbackEvent.setOldValue(oldValue);
txRemoveOldIndexEntry(Operation.INVALIDATE, re);
if (didDestroy) {
re.txDidDestroy(owner.cacheTimeMillis());
@@ -2012,7 +1989,7 @@ public abstract class AbstractRegionMap
txEvent.addInvalidate(owner, re, re.getKey(), newValue, aCallbackArgument);
}
re.setValueResultOfSearch(false);
- processAndGenerateTXVersionTag(owner, cbEvent, re, txEntryState);
+ processAndGenerateTXVersionTag(owner, callbackEvent, re, txEntryState);
boolean clearOccured = false;
try {
re.setValue(owner, re.prepareValueForCache(owner, newValue, true));
@@ -2024,24 +2001,19 @@ public abstract class AbstractRegionMap
owner.txApplyInvalidatePart2(re, re.getKey(), didDestroy, true);
// didInvalidate = true;
if (invokeCallbacks) {
- switchEventOwnerAndOriginRemote(cbEvent, hasRemoteOrigin);
- if (pendingCallbacks == null) {
- owner.invokeTXCallbacks(EnumListenerEvent.AFTER_INVALIDATE, cbEvent,
- true/* callDispatchListenerEvent */);
- } else {
- pendingCallbacks.add(cbEvent);
- cbEventInPending = true;
- }
+ switchEventOwnerAndOriginRemote(callbackEvent, hasRemoteOrigin);
+ pendingCallbacks.add(callbackEvent);
+ callbackEventInPending = true;
}
if (!clearOccured) {
lruEntryUpdate(re);
}
- if (shouldPerformConcurrencyChecks(owner, cbEvent) && txEntryState != null) {
- txEntryState.setVersionTag(cbEvent.getVersionTag());
+ if (shouldPerformConcurrencyChecks(owner, callbackEvent) && txEntryState != null) {
+ txEntryState.setVersionTag(callbackEvent.getVersionTag());
}
} finally {
- if (!cbEventInPending)
- cbEvent.release();
+ if (!callbackEventInPending)
+ callbackEvent.release();
}
return;
}
@@ -2053,22 +2025,18 @@ public abstract class AbstractRegionMap
// that the invalidate is already applied on the Initial image
// provider, thus causing region entry to be absent.
// Notify clients with client events.
- boolean cbEventInPending = false;
- cbEvent =
- createCBEvent(owner, localOp ? Operation.LOCAL_INVALIDATE : Operation.INVALIDATE, key,
- newValue, txId, txEvent, eventId, aCallbackArgument, filterRoutingInfo,
- bridgeContext, txEntryState, versionTag, tailKey);
+ boolean callbackEventInPending = false;
+ callbackEvent = createCallbackEvent(owner,
+ localOp ? Operation.LOCAL_INVALIDATE : Operation.INVALIDATE, key, newValue, txId,
+ txEvent, eventId, aCallbackArgument, filterRoutingInfo, bridgeContext, txEntryState,
+ versionTag, tailKey);
try {
- switchEventOwnerAndOriginRemote(cbEvent, hasRemoteOrigin);
- if (pendingCallbacks == null) {
- owner.invokeTXCallbacks(EnumListenerEvent.AFTER_INVALIDATE, cbEvent, false);
- } else {
- pendingCallbacks.add(cbEvent);
- cbEventInPending = true;
- }
+ switchEventOwnerAndOriginRemote(callbackEvent, hasRemoteOrigin);
+ pendingCallbacks.add(callbackEvent);
+ callbackEventInPending = true;
} finally {
- if (!cbEventInPending)
- cbEvent.release();
+ if (!callbackEventInPending)
+ callbackEvent.release();
}
}
}
@@ -2594,6 +2562,7 @@ public abstract class AbstractRegionMap
List<EntryEventImpl> pendingCallbacks, FilterRoutingInfo filterRoutingInfo,
ClientProxyMembershipID bridgeContext, TXEntryState txEntryState, VersionTag versionTag,
long tailKey) {
+ assert pendingCallbacks != null;
final LocalRegion owner = _getOwner();
if (owner == null) {
// "fix" for bug 32440
@@ -2609,19 +2578,20 @@ public abstract class AbstractRegionMap
final boolean isClientTXOriginator = owner.getCache().isClient() && !hasRemoteOrigin;
final boolean isRegionReady = owner.isInitialized();
@Released
- EntryEventImpl cbEvent = null;
- boolean invokeCallbacks = shouldCreateCBEvent(owner, isRegionReady);
- boolean cbEventInPending = false;
- cbEvent = createCallBackEvent(owner, putOp, key, newValue, txId, txEvent, eventId,
- aCallbackArgument, filterRoutingInfo, bridgeContext, txEntryState, versionTag, tailKey);
+ EntryEventImpl callbackEvent = null;
+ boolean invokeCallbacks = shouldCreateCallbackEvent(owner, isRegionReady);
+ boolean callbackEventInPending = false;
+ callbackEvent =
+ createTransactionCallbackEvent(owner, putOp, key, newValue, txId, txEvent, eventId,
+ aCallbackArgument, filterRoutingInfo, bridgeContext, txEntryState, versionTag, tailKey);
try {
if (logger.isDebugEnabled()) {
- logger.debug("txApplyPut cbEvent={}", cbEvent);
+ logger.debug("txApplyPut callbackEvent={}", callbackEvent);
}
if (owner.isUsedForPartitionedRegionBucket()) {
- newValue = EntryEventImpl.getCachedDeserializable(nv, cbEvent);
- txHandleWANEvent(owner, cbEvent, txEntryState);
+ newValue = EntryEventImpl.getCachedDeserializable(nv, callbackEvent);
+ txHandleWANEvent(owner, callbackEvent, txEntryState);
}
boolean opCompleted = false;
@@ -2642,9 +2612,9 @@ public abstract class AbstractRegionMap
// are initialized.
// Otherwise use the standard create/update logic
if (!owner.isAllEvents() || (!putOp.isCreate() && isRegionReady)) {
- cbEventInPending = applyTxUpdateOnReplicateOrRedundantCopy(key, nv, didDestroy, txEvent,
- aCallbackArgument, pendingCallbacks, txEntryState, owner, putOp, newValue,
- hasRemoteOrigin, cbEvent, invokeCallbacks, cbEventInPending, opCompleted);
+ callbackEventInPending = applyTxUpdateOnReplicateOrRedundantCopy(key, nv, didDestroy,
+ txEvent, aCallbackArgument, pendingCallbacks, txEntryState, owner, putOp, newValue,
+ hasRemoteOrigin, callbackEvent, invokeCallbacks, opCompleted);
return;
}
}
@@ -2666,9 +2636,9 @@ public abstract class AbstractRegionMap
// Net writers are not called for received transaction data
final int oldSize = owner.calculateRegionEntryValueSize(oldRe);
final boolean oldIsRemoved = oldRe.isDestroyedOrRemoved();
- if (cbEvent != null) {
- cbEvent.setRegionEntry(oldRe);
- cbEvent.setOldValue(oldRe.getValueInVM(owner)); // OFFHEAP eei
+ if (callbackEvent != null) {
+ callbackEvent.setRegionEntry(oldRe);
+ callbackEvent.setOldValue(oldRe.getValueInVM(owner)); // OFFHEAP eei
}
boolean clearOccured = false;
// Set RegionEntry updateInProgress
@@ -2686,11 +2656,11 @@ public abstract class AbstractRegionMap
}
oldRe.setValueResultOfSearch(putOp.isNetSearch());
try {
- processAndGenerateTXVersionTag(owner, cbEvent, oldRe, txEntryState);
+ processAndGenerateTXVersionTag(owner, callbackEvent, oldRe, txEntryState);
boolean wasTombstone = oldRe.isTombstone();
{
- oldRe.setValue(owner, oldRe.prepareValueForCache(owner, newValue, cbEvent,
- !putOp.isCreate()));
+ oldRe.setValue(owner, oldRe.prepareValueForCache(owner, newValue,
+ callbackEvent, !putOp.isCreate()));
if (wasTombstone) {
owner.unscheduleTombstone(oldRe);
}
@@ -2724,18 +2694,11 @@ public abstract class AbstractRegionMap
}
if (invokeCallbacks) {
if (!oldIsRemoved) {
- cbEvent.makeUpdate();
- }
- switchEventOwnerAndOriginRemote(cbEvent, hasRemoteOrigin);
- if (pendingCallbacks == null) {
- owner.invokeTXCallbacks(
- cbEvent.op.isCreate() ? EnumListenerEvent.AFTER_CREATE
- : EnumListenerEvent.AFTER_UPDATE,
- cbEvent, true/* callDispatchListenerEvent */);
- } else {
- pendingCallbacks.add(cbEvent);
- cbEventInPending = true;
+ callbackEvent.makeUpdate();
}
+ switchEventOwnerAndOriginRemote(callbackEvent, hasRemoteOrigin);
+ pendingCallbacks.add(callbackEvent);
+ callbackEventInPending = true;
}
if (!clearOccured) {
lruEntryUpdate(oldRe);
@@ -2745,9 +2708,9 @@ public abstract class AbstractRegionMap
}
if (!opCompleted) {
putOp = putOp.getCorrespondingCreateOp();
- if (cbEvent != null) {
- cbEvent.setRegionEntry(newRe);
- cbEvent.setOldValue(null);
+ if (callbackEvent != null) {
+ callbackEvent.setRegionEntry(newRe);
+ callbackEvent.setOldValue(null);
}
boolean clearOccured = false;
// Set RegionEntry updateInProgress
@@ -2766,10 +2729,10 @@ public abstract class AbstractRegionMap
newRe.setValueResultOfSearch(putOp.isNetSearch());
try {
- processAndGenerateTXVersionTag(owner, cbEvent, newRe, txEntryState);
+ processAndGenerateTXVersionTag(owner, callbackEvent, newRe, txEntryState);
{
- newRe.setValue(owner,
- newRe.prepareValueForCache(owner, newValue, cbEvent, !putOp.isCreate()));
+ newRe.setValue(owner, newRe.prepareValueForCache(owner, newValue, callbackEvent,
+ !putOp.isCreate()));
}
owner.updateSizeOnCreate(newRe.getKey(),
owner.calculateRegionEntryValueSize(newRe));
@@ -2790,16 +2753,11 @@ public abstract class AbstractRegionMap
}
opCompleted = true;
if (invokeCallbacks) {
- cbEvent.makeCreate();
- cbEvent.setOldValue(null);
- switchEventOwnerAndOriginRemote(cbEvent, hasRemoteOrigin);
- if (pendingCallbacks == null) {
- owner.invokeTXCallbacks(EnumListenerEvent.AFTER_CREATE, cbEvent,
- true/* callDispatchListenerEvent */);
- } else {
- pendingCallbacks.add(cbEvent);
- cbEventInPending = true;
- }
+ callbackEvent.makeCreate();
+ callbackEvent.setOldValue(null);
+ switchEventOwnerAndOriginRemote(callbackEvent, hasRemoteOrigin);
+ pendingCallbacks.add(callbackEvent);
+ callbackEventInPending = true;
}
if (!clearOccured) {
lruEntryCreate(newRe);
@@ -2812,8 +2770,8 @@ public abstract class AbstractRegionMap
}
}
}
- if (owner.getConcurrencyChecksEnabled() && txEntryState != null && cbEvent != null) {
- txEntryState.setVersionTag(cbEvent.getVersionTag());
+ if (owner.getConcurrencyChecksEnabled() && txEntryState != null && callbackEvent != null) {
+ txEntryState.setVersionTag(callbackEvent.getVersionTag());
}
} catch (DiskAccessException dae) {
owner.handleDiskAccessException(dae);
@@ -2824,16 +2782,17 @@ public abstract class AbstractRegionMap
}
}
} finally {
- if (!cbEventInPending)
- cbEvent.release();
+ if (!callbackEventInPending)
+ callbackEvent.release();
}
}
private boolean applyTxUpdateOnReplicateOrRedundantCopy(Object key, Object nv, boolean didDestroy,
TXRmtEvent txEvent, Object aCallbackArgument, List<EntryEventImpl> pendingCallbacks,
TXEntryState txEntryState, LocalRegion owner, Operation putOp, Object newValue,
- boolean hasRemoteOrigin, EntryEventImpl cbEvent, boolean invokeCallbacks,
- boolean cbEventInPending, boolean opCompleted) {
+ boolean hasRemoteOrigin, EntryEventImpl callbackEvent, boolean invokeCallbacks,
+ boolean opCompleted) {
+ boolean result = false;
// At this point we should only apply the update if the entry exists
RegionEntry re = getEntry(key); // Fix for bug 32347.
if (re != null) {
@@ -2843,9 +2802,9 @@ public abstract class AbstractRegionMap
putOp = putOp.getCorrespondingUpdateOp();
// Net writers are not called for received transaction data
final int oldSize = owner.calculateRegionEntryValueSize(re);
- if (cbEvent != null) {
- cbEvent.setRegionEntry(re);
- cbEvent.setOldValue(re.getValueInVM(owner)); // OFFHEAP eei
+ if (callbackEvent != null) {
+ callbackEvent.setRegionEntry(re);
+ callbackEvent.setOldValue(re.getValueInVM(owner)); // OFFHEAP eei
}
boolean clearOccured = false;
@@ -2863,10 +2822,10 @@ public abstract class AbstractRegionMap
}
re.setValueResultOfSearch(putOp.isNetSearch());
try {
- processAndGenerateTXVersionTag(owner, cbEvent, re, txEntryState);
+ processAndGenerateTXVersionTag(owner, callbackEvent, re, txEntryState);
{
re.setValue(owner,
- re.prepareValueForCache(owner, newValue, cbEvent, !putOp.isCreate()));
+ re.prepareValueForCache(owner, newValue, callbackEvent, !putOp.isCreate()));
}
if (putOp.isCreate()) {
owner.updateSizeOnCreate(key, owner.calculateRegionEntryValueSize(re));
@@ -2894,8 +2853,8 @@ public abstract class AbstractRegionMap
}
}
if (invokeCallbacks) {
- cbEventInPending = prepareUpdateCallbacks(pendingCallbacks, owner, hasRemoteOrigin,
- cbEvent, cbEventInPending);
+ prepareUpdateCallbacks(pendingCallbacks, owner, hasRemoteOrigin, callbackEvent);
+ result = true;
}
if (!clearOccured) {
lruEntryUpdate(re);
@@ -2907,42 +2866,36 @@ public abstract class AbstractRegionMap
}
}
if (invokeCallbacks && !opCompleted) {
- cbEvent.makeUpdate();
- owner.invokeTXCallbacks(EnumListenerEvent.AFTER_UPDATE, cbEvent, false);
+ callbackEvent.makeUpdate();
+ owner.invokeTXCallbacks(EnumListenerEvent.AFTER_UPDATE, callbackEvent, false);
}
- if (owner.getConcurrencyChecksEnabled() && txEntryState != null && cbEvent != null) {
- txEntryState.setVersionTag(cbEvent.getVersionTag());
+ if (owner.getConcurrencyChecksEnabled() && txEntryState != null && callbackEvent != null) {
+ txEntryState.setVersionTag(callbackEvent.getVersionTag());
}
- return cbEventInPending;
+ return result;
}
- private boolean prepareUpdateCallbacks(List<EntryEventImpl> pendingCallbacks, LocalRegion owner,
- boolean hasRemoteOrigin, EntryEventImpl cbEvent, boolean cbEventInPending) {
- cbEvent.makeUpdate();
- switchEventOwnerAndOriginRemote(cbEvent, hasRemoteOrigin);
- if (pendingCallbacks == null) {
- owner.invokeTXCallbacks(EnumListenerEvent.AFTER_UPDATE, cbEvent, hasRemoteOrigin);
- } else {
- pendingCallbacks.add(cbEvent);
- cbEventInPending = true;
- }
- return cbEventInPending;
+ private void prepareUpdateCallbacks(List<EntryEventImpl> pendingCallbacks, LocalRegion owner,
+ boolean hasRemoteOrigin, EntryEventImpl callbackEvent) {
+ callbackEvent.makeUpdate();
+ switchEventOwnerAndOriginRemote(callbackEvent, hasRemoteOrigin);
+ pendingCallbacks.add(callbackEvent);
}
- private void txHandleWANEvent(final LocalRegion owner, EntryEventImpl cbEvent,
+ private void txHandleWANEvent(final LocalRegion owner, EntryEventImpl callbackEvent,
TXEntryState txEntryState) {
- ((BucketRegion) owner).handleWANEvent(cbEvent);
+ ((BucketRegion) owner).handleWANEvent(callbackEvent);
if (txEntryState != null) {
- txEntryState.setTailKey(cbEvent.getTailKey());
+ txEntryState.setTailKey(callbackEvent.getTailKey());
}
}
/**
* called from txApply* methods to process and generate versionTags.
*/
- private void processAndGenerateTXVersionTag(final LocalRegion owner, EntryEventImpl cbEvent,
+ private void processAndGenerateTXVersionTag(final LocalRegion owner, EntryEventImpl callbackEvent,
RegionEntry re, TXEntryState txEntryState) {
- if (shouldPerformConcurrencyChecks(owner, cbEvent)) {
+ if (shouldPerformConcurrencyChecks(owner, callbackEvent)) {
try {
if (txEntryState != null && txEntryState.getRemoteVersionTag() != null) {
// to generate a version based on a remote VersionTag, we will
@@ -2953,28 +2906,29 @@ public abstract class AbstractRegionMap
stamp.setVersions(remoteTag);
}
}
- processVersionTag(re, cbEvent);
+ processVersionTag(re, callbackEvent);
} catch (ConcurrentCacheModificationException ignore) {
// ignore this execption, however invoke callbacks for this operation
}
// For distributed transactions, stuff the next region version generated
- // in phase-1 commit into the cbEvent so that ARE.generateVersionTag can later
+ // in phase-1 commit into the callbackEvent so that ARE.generateVersionTag can later
// just apply it and not regenerate it in phase-2 commit
- if (cbEvent != null && txEntryState != null && txEntryState.getDistTxEntryStates() != null) {
- cbEvent.setNextRegionVersion(txEntryState.getDistTxEntryStates().getRegionVersion());
+ if (callbackEvent != null && txEntryState != null
+ && txEntryState.getDistTxEntryStates() != null) {
+ callbackEvent.setNextRegionVersion(txEntryState.getDistTxEntryStates().getRegionVersion());
}
- // cbEvent.setNextRegionVersion(txEntryState.getNextRegionVersion());
- owner.generateAndSetVersionTag(cbEvent, re);
+ // callbackEvent.setNextRegionVersion(txEntryState.getNextRegionVersion());
+ owner.generateAndSetVersionTag(callbackEvent, re);
}
}
/**
- * Checks for concurrency checks enabled on Region and that cbEvent is not null.
+ * Checks for concurrency checks enabled on Region and that callbackEvent is not null.
*/
- private boolean shouldPerformConcurrencyChecks(LocalRegion owner, EntryEventImpl cbEvent) {
- return owner.getConcurrencyChecksEnabled() && cbEvent != null;
+ private boolean shouldPerformConcurrencyChecks(LocalRegion owner, EntryEventImpl callbackEvent) {
+ return owner.getConcurrencyChecksEnabled() && callbackEvent != null;
}
/**
@@ -3020,7 +2974,7 @@ public abstract class AbstractRegionMap
}
}
- static boolean shouldCreateCBEvent(final LocalRegion owner, final boolean isInitialized) {
+ static boolean shouldCreateCallbackEvent(final LocalRegion owner, final boolean isInitialized) {
LocalRegion lr = owner;
boolean isPartitioned = lr.isUsedForPartitionedRegionBucket();
@@ -3035,18 +2989,18 @@ public abstract class AbstractRegionMap
|| lr.shouldNotifyBridgeClients() || lr.getConcurrencyChecksEnabled());
}
- EntryEventImpl createCallBackEvent(final LocalRegion re, Operation op, Object key,
+ EntryEventImpl createTransactionCallbackEvent(final LocalRegion re, Operation op, Object key,
Object newValue, TransactionId txId, TXRmtEvent txEvent, EventID eventId,
Object aCallbackArgument, FilterRoutingInfo filterRoutingInfo,
ClientProxyMembershipID bridgeContext, TXEntryState txEntryState, VersionTag versionTag,
long tailKey) {
- return createCBEvent(re, op, key, newValue, txId, txEvent, eventId, aCallbackArgument,
+ return createCallbackEvent(re, op, key, newValue, txId, txEvent, eventId, aCallbackArgument,
filterRoutingInfo, bridgeContext, txEntryState, versionTag, tailKey);
}
/** create a callback event for applying a transactional change to the local cache */
@Retained
- public static EntryEventImpl createCBEvent(final LocalRegion re, Operation op, Object key,
+ public static EntryEventImpl createCallbackEvent(final LocalRegion re, Operation op, Object key,
Object newValue, TransactionId txId, TXRmtEvent txEvent, EventID eventId,
Object aCallbackArgument, FilterRoutingInfo filterRoutingInfo,
ClientProxyMembershipID bridgeContext, TXEntryState txEntryState, VersionTag versionTag,
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyRegionMap.java b/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyRegionMap.java
index e58faf8..bd3059d 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyRegionMap.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/ProxyRegionMap.java
@@ -271,26 +271,14 @@ class ProxyRegionMap implements RegionMap {
if (event != null) {
event.addDestroy(this.owner, markerEntry, key, aCallbackArgument);
}
- if (AbstractRegionMap.shouldCreateCBEvent(this.owner, !inTokenMode)) {
+ if (AbstractRegionMap.shouldCreateCallbackEvent(this.owner, !inTokenMode)) {
// fix for bug 39526
@Released
- EntryEventImpl e = AbstractRegionMap.createCBEvent(this.owner, op, key, null, rmtOrigin,
- event, eventId, aCallbackArgument, filterRoutingInfo, bridgeContext, txEntryState,
- versionTag, tailKey);
- boolean cbEventInPending = false;
- try {
- AbstractRegionMap.switchEventOwnerAndOriginRemote(e, txEntryState == null);
- if (pendingCallbacks == null) {
- this.owner.invokeTXCallbacks(EnumListenerEvent.AFTER_DESTROY, e,
- true/* callDispatchListenerEvent */);
- } else {
- pendingCallbacks.add(e);
- cbEventInPending = true;
- }
- } finally {
- if (!cbEventInPending)
- e.release();
- }
+ EntryEventImpl e = AbstractRegionMap.createCallbackEvent(this.owner, op, key, null,
+ rmtOrigin, event, eventId, aCallbackArgument, filterRoutingInfo, bridgeContext,
+ txEntryState, versionTag, tailKey);
+ AbstractRegionMap.switchEventOwnerAndOriginRemote(e, txEntryState == null);
+ pendingCallbacks.add(e);
}
}
}
@@ -306,27 +294,15 @@ class ProxyRegionMap implements RegionMap {
if (event != null) {
event.addInvalidate(this.owner, markerEntry, key, newValue, aCallbackArgument);
}
- if (AbstractRegionMap.shouldCreateCBEvent(this.owner, this.owner.isInitialized())) {
+ if (AbstractRegionMap.shouldCreateCallbackEvent(this.owner, this.owner.isInitialized())) {
// fix for bug 39526
- boolean cbEventInPending = false;
@Released
- EntryEventImpl e = AbstractRegionMap.createCBEvent(this.owner,
+ EntryEventImpl e = AbstractRegionMap.createCallbackEvent(this.owner,
localOp ? Operation.LOCAL_INVALIDATE : Operation.INVALIDATE, key, newValue, rmtOrigin,
event, eventId, aCallbackArgument, filterRoutingInfo, bridgeContext, txEntryState,
versionTag, tailKey);
- try {
- AbstractRegionMap.switchEventOwnerAndOriginRemote(e, txEntryState == null);
- if (pendingCallbacks == null) {
- this.owner.invokeTXCallbacks(EnumListenerEvent.AFTER_INVALIDATE, e,
- true/* callDispatchListenerEvent */);
- } else {
- pendingCallbacks.add(e);
- cbEventInPending = true;
- }
- } finally {
- if (!cbEventInPending)
- e.release();
- }
+ AbstractRegionMap.switchEventOwnerAndOriginRemote(e, txEntryState == null);
+ pendingCallbacks.add(e);
}
}
}
@@ -344,26 +320,14 @@ class ProxyRegionMap implements RegionMap {
if (event != null) {
event.addPut(putOperation, this.owner, markerEntry, key, newValue, aCallbackArgument);
}
- if (AbstractRegionMap.shouldCreateCBEvent(this.owner, this.owner.isInitialized())) {
+ if (AbstractRegionMap.shouldCreateCallbackEvent(this.owner, this.owner.isInitialized())) {
// fix for bug 39526
- boolean cbEventInPending = false;
@Released
- EntryEventImpl e = AbstractRegionMap.createCBEvent(this.owner, putOperation, key, newValue,
- rmtOrigin, event, eventId, aCallbackArgument, filterRoutingInfo, bridgeContext,
- txEntryState, versionTag, tailKey);
- try {
- AbstractRegionMap.switchEventOwnerAndOriginRemote(e, txEntryState == null);
- if (pendingCallbacks == null) {
- this.owner.invokeTXCallbacks(EnumListenerEvent.AFTER_CREATE, e,
- true/* callDispatchListenerEvent */);
- } else {
- pendingCallbacks.add(e);
- cbEventInPending = true;
- }
- } finally {
- if (!cbEventInPending)
- e.release();
- }
+ EntryEventImpl e = AbstractRegionMap.createCallbackEvent(this.owner, putOperation, key,
+ newValue, rmtOrigin, event, eventId, aCallbackArgument, filterRoutingInfo,
+ bridgeContext, txEntryState, versionTag, tailKey);
+ AbstractRegionMap.switchEventOwnerAndOriginRemote(e, txEntryState == null);
+ pendingCallbacks.add(e);
}
}
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXCommitMessage.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXCommitMessage.java
index 98b1f2e..766cbd6 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXCommitMessage.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXCommitMessage.java
@@ -1241,7 +1241,7 @@ public class TXCommitMessage extends PooledDistributionMessage
*/
// No need to release because it is added to pendingCallbacks and they will be released
// later
- EntryEventImpl eei = AbstractRegionMap.createCBEvent(this.r, entryOp.op, entryOp.key,
+ EntryEventImpl eei = AbstractRegionMap.createCallbackEvent(this.r, entryOp.op, entryOp.key,
entryOp.value, this.msg.txIdent, txEvent, getEventId(entryOp), entryOp.callbackArg,
entryOp.filterRoutingInfo, this.msg.bridgeContext, null, entryOp.versionTag,
entryOp.tailKey);
@@ -1316,7 +1316,7 @@ public class TXCommitMessage extends PooledDistributionMessage
* This happens when we don't have the bucket and are getting adjunct notification
*/
@Released
- EntryEventImpl eei = AbstractRegionMap.createCBEvent(this.r, entryOp.op, entryOp.key,
+ EntryEventImpl eei = AbstractRegionMap.createCallbackEvent(this.r, entryOp.op, entryOp.key,
entryOp.value, this.msg.txIdent, txEvent, getEventId(entryOp), entryOp.callbackArg,
entryOp.filterRoutingInfo, this.msg.bridgeContext, null, entryOp.versionTag,
entryOp.tailKey);
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/AbstractRegionMapTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/AbstractRegionMapTest.java
index 2e7baaa..86fb15f 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/AbstractRegionMapTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/AbstractRegionMapTest.java
@@ -705,7 +705,7 @@ public class AbstractRegionMapTest {
Object newValue = "value";
arm.txApplyPut(Operation.CREATE, KEY, newValue, false,
new TXId(mock(InternalDistributedMember.class), 1), mock(TXRmtEvent.class),
- mock(EventID.class), null, null, null, null, null, null, 1);
+ mock(EventID.class), null, new ArrayList<EntryEventImpl>(), null, null, null, null, 1);
RegionEntry re = arm.getEntry(KEY);
assertNotNull(re);
@@ -741,7 +741,7 @@ public class AbstractRegionMapTest {
re.setValue(arm._getOwner(), token);
arm.txApplyInvalidate(key, Token.INVALID, false,
new TXId(mock(InternalDistributedMember.class), 1), mock(TXRmtEvent.class), false,
- mock(EventID.class), null, null, null, null, null, null, 1);
+ mock(EventID.class), null, new ArrayList<EntryEventImpl>(), null, null, null, null, 1);
assertEquals(re.getValueAsToken(), token);
}
@@ -1105,7 +1105,7 @@ public class AbstractRegionMapTest {
}
@Override
- EntryEventImpl createCallBackEvent(final LocalRegion re, Operation op, Object key,
+ EntryEventImpl createTransactionCallbackEvent(final LocalRegion re, Operation op, Object key,
Object newValue, TransactionId txId, TXRmtEvent txEvent, EventID eventId,
Object aCallbackArgument, FilterRoutingInfo filterRoutingInfo,
ClientProxyMembershipID bridgeContext, TXEntryState txEntryState, VersionTag versionTag,
@@ -1131,7 +1131,7 @@ public class AbstractRegionMapTest {
}
@Override
- EntryEventImpl createCallBackEvent(final LocalRegion re, Operation op, Object key,
+ EntryEventImpl createTransactionCallbackEvent(final LocalRegion re, Operation op, Object key,
Object newValue, TransactionId txId, TXRmtEvent txEvent, EventID eventId,
Object aCallbackArgument, FilterRoutingInfo filterRoutingInfo,
ClientProxyMembershipID bridgeContext, TXEntryState txEntryState, VersionTag versionTag,
--
To stop receiving notification emails like this one, please contact
dschneider@apache.org.