protected final void basicPutPart2(final EntryEventImpl event, byte putOp) throws TimeoutException { // oldValue has already been set during the operation performOp(advisePutOp(putOp, event.getOperation()), event); }
protected boolean needWriteLock(EntryEventImpl event) { return !(event.isOriginRemote() || event.isNetSearch() || event.getOperation().isLocal() || event.getOperation().isPutAll() || event.getOperation().isRemoveAll() || (event.isExpiration() && isEntryEvictDestroyEnabled() || event.isPendingSecondaryExpireDestroy())); }
/** * @since 5.7 */ protected void serverInvalidate(EntryEventImpl event, boolean invokeCallbacks, boolean forceNewEntry) { if (event.getOperation().isDistributed()) { ServerRegionProxy mySRP = getServerProxy(); if (mySRP != null) { mySRP.invalidate(event); } } }
/** * @since 5.7 */ void cacheWriteBeforeInvalidate(EntryEventImpl event, boolean invokeCallbacks, boolean forceNewEntry) { if (!event.getOperation().isLocal() && !event.isOriginRemote()) { serverInvalidate(event, invokeCallbacks, forceNewEntry); } }
/** * @since 5.7 */ protected void serverInvalidate(EntryEventImpl event, boolean invokeCallbacks, boolean forceNewEntry) { if (event.getOperation().isDistributed()) { ServerRegionProxy mySRP = getServerProxy(); if (mySRP != null) { mySRP.invalidate(event); } } }
private void updateLru(boolean clearOccured, RegionEntry re, EntryEventImpl event) { if (!clearOccured) { if (event.getOperation().isCreate()) { lruEntryCreate(re); } else { lruEntryUpdate(re); } } }
/** * @since 5.7 */ void cacheWriteBeforeInvalidate(EntryEventImpl event, boolean invokeCallbacks, boolean forceNewEntry) { if (!event.getOperation().isLocal() && !event.isOriginRemote()) { serverInvalidate(event, invokeCallbacks, forceNewEntry); } }
protected final void destroyPart2(final EntryEventImpl event) throws EntryNotFoundException, TimeoutException { final byte advisedOp = adviseDestroyOp(event.getOperation()); if (advisedOp > OP_NULL) { performOp(advisedOp, event); } else { // set the callbackArg neverthless (e.g. if this is being created for // locking) since it may contain GemFireXD routing object for example // (e.g. #44074) event.putTXEntryCallbackArg(this); } }
@Override protected boolean shouldGenerateVersionTag(RegionEntry entry, EntryEventImpl event) { if (event.getOperation().isLocal()) { // bug #45402 - localDestroy generated a version tag return false; } return this.concurrencyChecksEnabled && ((event.getVersionTag() == null) || event.getVersionTag().isGatewayTag()); }
public void destroyExistingEntry(EntryEventImpl event, boolean cacheWrite, Object expectedOldValue) throws EntryNotFoundException { // logger.debug("DistTXStateOnCoordinator.destroyExistingEntry", new Throwable()); super.destroyExistingEntry(event, cacheWrite, expectedOldValue); // removeAll event is already added in postRemoveAll, don't add individual // events from the removeAll operation again if (!event.getOperation().isRemoveAll()) { addPrimaryTransactionalOperations(new DistTxEntryEvent(event)); } }
@Override protected boolean shouldGenerateVersionTag(RegionEntry entry, EntryEventImpl event) { if (event.getOperation().isLocal()) { // bug #45402 - localDestroy generated a version tag return false; } return this.concurrencyChecksEnabled && ((event.getVersionTag() == null) || event.getVersionTag().isGatewayTag()); }
/** * This method is overridden in HDFSGatewayEventImpl * @param event * @return StoredObject for the offheap value */ protected StoredObject obtainOffHeapValueBasedOnOp(EntryEventImpl event, boolean hasNonWanDispatcher) { return (hasNonWanDispatcher && GemFireCacheImpl.gfxdSystem() && event.getOperation().isDestroy()) ? event.getOffHeapOldValue() : event.getOffHeapNewValue(); }
/** * Provide recipient information for an update or create operation. */ final Set<InternalDistributedMember> adviseUpdate(final EntryEventImpl event) throws IllegalStateException { if (event.hasNewValue() || event.getOperation().isPutAll()) { // only need to distribute it to guys that want all events or cache data return adviseAllEventsOrCached(true/*fixes 41147*/); } else { return adviseCreateNullValue(); } }
public boolean invalidate(EntryEventImpl event, boolean invokeCallbacks, boolean forceNewEntry, boolean forceCallback) throws EntryNotFoundException { if (event.getOperation().isLocal()) { throw new EntryNotFoundException(event.getKey().toString()); } this.owner.cacheWriteBeforeInvalidate(event, invokeCallbacks, forceNewEntry); this.owner.recordEvent(event); this.owner.basicInvalidatePart2(markerEntry, event, false /*Clear conflict occurred */, true); this.owner.basicInvalidatePart3(markerEntry, event, true); return true; }
private void initialize(boolean notifyOnly, EntryEventImpl event, Object expectedOldValue, boolean cacheWrite) { this.expectedOldValue = expectedOldValue; this.cacheWrite = cacheWrite; this.key = event.getKey(); this.cbArg = event.getRawCallbackArgument(); this.op = event.getOperation(); this.notificationOnly = notifyOnly; this.bridgeContext = event.getContext(); this.eventId = event.getEventId(); this.versionTag = event.getVersionTag(); }
/** * This method is Overridden in HDFSGatewayEventImpl * @param event * @return Object for the on heap value */ protected Object obtainHeapValueBasedOnOp(EntryEventImpl event, boolean hasNonWanDispatcher) { return (hasNonWanDispatcher && GemFireCacheImpl.gfxdSystem() && event.getOperation().isDestroy()) ? event.getRawOldValue() : event.getRawNewValue(shouldApplyDelta()); } /**
public void invalidateExistingEntry(EntryEventImpl event, boolean invokeCallbacks, boolean forceNewEntry) { if (event.getOperation().isLocal()) { throw new UnsupportedOperationInTransactionException( LocalizedStrings.TXStateStub_LOCAL_INVALIDATE_NOT_ALLOWED_IN_TRANSACTION.toLocalizedString()); } getTXRegionStub(event.getRegion()).invalidateExistingEntry(event,invokeCallbacks,forceNewEntry); }
public static void logInvalidate(EntryEventImpl event) { if(isEnabled()) { final String invalidationType = event.getOperation().isLocal() ? "local_invalid" : "invalid"; GRAPH_LOGGER.logTransition(GraphType.KEY, getGraphName(event), getEdgeName("invalidate"), invalidationType, getSource(), getDest()); } }
public static void logInvalidate(EntryEventImpl event) { if(isEnabled()) { final String invalidationType = event.getOperation().isLocal() ? "local_invalid" : "invalid"; GRAPH_LOGGER.logTransition(GraphType.KEY, getGraphName(event), getEdgeName("invalidate"), invalidationType, getSource(), getDest()); } }
public static ProxyBucketRegion getProxyBucketRegion( final PartitionedRegion pr, final EntryEventImpl event) { int bucketId = event.getBucketId(); if (bucketId == KeyInfo.UNKNOWN_BUCKET) { bucketId = PartitionedRegionHelper.getHashKey(pr, event.getOperation(), event.getKey(), event.getValue(), event.getCallbackArgument()); event.setBucketId(bucketId); } final RegionAdvisor ra = pr.getRegionAdvisor(); return ra.getProxyBucketArray()[bucketId]; }