public final LocalRegion getBaseRegion() { return getBaseRegion(this.txRegionState.region); }
public final Object getPendingValue() { if (this.pendingValue == null && this.pendingDelta != null) { this.pendingValue = this.pendingDelta.apply(getBaseRegion(), this.regionKey, this.originalVersionId, false); } return this.pendingValue; }
/** * Returns true if this operation has an event for the tx listener * * @since 5.0 */ protected final boolean isOpAnyEvent() { //return isOpPutEvent() || isOpCreateEvent() || isOpInvalidateEvent() // || isOpDestroyEvent(this.txRegionState.region); // return if any operation but check if entry created in TX itself got // destroyed (except if it is an empty region since then we have to // distribute events in any case) return this.op > OP_NULL && (!isOpDestroy() || !wasCreatedByTX() || getBaseRegion().isProxy()); }
protected final EntryEventImpl getEvent(final TXState txs, final boolean isCohort, final InternalDistributedMember myId) { // dumpOp(); //TODO:ASIF : Should we generate EventID ? At this point not generating final LocalRegion eventRegion = getBaseRegion(); final EntryEventImpl result = EntryEventImpl.create(eventRegion, getNearSideOperation(), this.regionKey, getNearSidePendingValue(), getCallbackArgument(), false, myId); // OFFHEAP: freeOffHeapResources on this event is called from TXEvent.freeOffHeapResources. if (this.destroy == DESTROY_NONE || isOpDestroy()) { result.setOldValue(this.originalVersionId); } // Use coordinator to determine if the originRemote flag should be set. // The event can come to coordinator from itself in nested function // execution so this flag is more reliable -- see bug #41498. result.setOriginRemote(isCohort); result.setTXState(txs); return result; }
return; final LocalRegion region = getBaseRegion(dataRegion); final boolean checkValid = checkForTXFinish.booleanValue(); txrs.lock();