/** * If we are currently a create op then turn us into an update * * @since 5.0 */ void makeUpdate() { setOperation(this.op.getCorrespondingUpdateOp()); }
/** * If we are currently a create op then turn us into an update * * @since 5.0 */ final void makeUpdate() { setOperation(this.op.getCorrespondingUpdateOp()); }
/** * If we are currently an update op then turn us into a create * * @since 5.0 */ final void makeCreate() { setOperation(this.op.getCorrespondingCreateOp()); }
/** * If we are currently an update op then turn us into a create * * @since 5.0 */ void makeCreate() { setOperation(this.op.getCorrespondingCreateOp()); }
if (this.netSearch) { if (event.getOperation().isCreate()) { event.setOperation(Operation.SEARCH_CREATE); } else { event.setOperation(Operation.SEARCH_UPDATE); event.setOperation(Operation.NET_LOAD_CREATE); } else { event.setOperation(Operation.NET_LOAD_UPDATE); event.setOperation(Operation.LOCAL_LOAD_CREATE); } else { event.setOperation(Operation.LOCAL_LOAD_UPDATE);
public void invokeTXCallbacks(final EnumListenerEvent eventType, final EntryEventImpl event , final boolean callDispatchListenerEvent) { // The spec for ConcurrentMap support requires that operations be mapped // to non-CM counterparts Operation op = event.getOperation(); if (logger.isDebugEnabled()) { logger.debug("invokeTXCallbacks for event {}", event); } if (op == Operation.REMOVE) { event.setOperation(Operation.DESTROY); } else if (op == Operation.PUT_IF_ABSENT) { event.setOperation(Operation.CREATE); } else if (op == Operation.REPLACE) { event.setOperation(Operation.UPDATE); } event.setEventType(eventType); notifyBridgeClients(event); notifyGatewaySender(eventType, event); if (callDispatchListenerEvent){ if (event.getInvokePRCallbacks() || (!(event.getRegion() instanceof PartitionedRegion) && !(event.getRegion().isUsedForPartitionedRegionBucket()))) { dispatchListenerEvent(eventType, event); } } }
if (this.netSearch) { if (event.getOperation().isCreate()) { event.setOperation(Operation.SEARCH_CREATE); } else { event.setOperation(Operation.SEARCH_UPDATE); event.setOperation(Operation.NET_LOAD_CREATE); } else { event.setOperation(Operation.NET_LOAD_UPDATE); event.setOperation(Operation.LOCAL_LOAD_CREATE); } else { event.setOperation(Operation.LOCAL_LOAD_UPDATE);
void cleanUpOnIncompleteOp(EntryEventImpl event, RegionEntry re, boolean eventRecorded, boolean updateStats, boolean isReplace) { //TODO:Asif: This is incorrect implementation for replicated region in case of //sql fabric, as sqlf index would already be updated, if eventRecorded //flag is true.So if entry is being removed , //then the sqlfindex also needs to be corrected IndexUpdater iu = this.getIndexUpdater(); // sqlf system if(!eventRecorded || iu ==null || isReplace) { //Ok to remove entry whether sqlfabric or gfe as index has not been modified yet by the operation this.entries.removeEntry(event.getKey(), re, updateStats) ; }else { // a sqlf system, with event recorded as true. we need to update index. //Use the current event to indicate destroy.should be ok Operation oldOp = event.getOperation(); event.setOperation(Operation.DESTROY); this.entries.removeEntry(event.getKey(), re, updateStats, event, this, iu); event.setOperation(oldOp); } }
void cleanUpOnIncompleteOp(EntryEventImpl event, RegionEntry re, boolean eventRecorded, boolean updateStats, boolean isReplace) { //TODO:Asif: This is incorrect implementation for replicated region in case of //sql fabric, as gfxd index would already be updated, if eventRecorded //flag is true.So if entry is being removed , //then the gfxdindex also needs to be corrected // LogWriterI18n log = getLogWriterI18n(); // if (log.fineEnabled()) { // log.fine("removing entry from incomplete operation: " + re); // } IndexUpdater iu = this.getIndexUpdater(); // gfxd system if(!eventRecorded || iu ==null || isReplace) { //Ok to remove entry whether gemfirexd or gfe as index has not been modified yet by the operation this.entries.removeEntry(event.getKey(), re, updateStats) ; }else { // a gfxd system, with event recorded as true. we need to update index. //Use the current event to indicate destroy.should be ok Operation oldOp = event.getOperation(); event.setOperation(Operation.DESTROY); this.entries.removeEntry(event.getKey(), re, updateStats, event, this, iu); event.setOperation(oldOp); } }
public void invokePutCallbacks(final EnumListenerEvent eventType, final EntryEventImpl event, final boolean callDispatchListenerEvent, boolean notifyGateways) { // disallow callbacks on import if (!event.isGenerateCallbacks()) { return; } // Notify bridge clients (if this is a BridgeServer) Operation op = event.getOperation(); // The spec for ConcurrentMap support requires that operations be mapped // to non-CM counterparts if (op == Operation.PUT_IF_ABSENT) { event.setOperation(Operation.CREATE); } else if (op == Operation.REPLACE) { event.setOperation(Operation.UPDATE); } event.setEventType(eventType); notifyBridgeClients(event); if (notifyGateways) { notifyGatewaySender(eventType, event); } if(callDispatchListenerEvent){ dispatchListenerEvent(eventType, event); } }
event.setOperation(Operation.CREATE); } else if (op == Operation.REPLACE) { event.setOperation(Operation.UPDATE);
public void invokeDestroyCallbacks(final EnumListenerEvent eventType, final EntryEventImpl event , final boolean callDispatchListenerEvent, boolean notifyGateways) { // The spec for ConcurrentMap support requires that operations be mapped // to non-CM counterparts if (event.getOperation() == Operation.REMOVE) { event.setOperation(Operation.DESTROY); } event.setEventType(eventType); notifyBridgeClients(event); if (notifyGateways) { notifyGatewayHubs(eventType, event); } if(callDispatchListenerEvent){ dispatchListenerEvent(eventType, event); } }
public void invokeDestroyCallbacks(final EnumListenerEvent eventType, final EntryEventImpl event , final boolean callDispatchListenerEvent, boolean notifyGateways) { // The spec for ConcurrentMap support requires that operations be mapped // to non-CM counterparts if (event.getOperation() == Operation.REMOVE) { event.setOperation(Operation.DESTROY); } event.setEventType(eventType); notifyBridgeClients(event); if (notifyGateways) { notifyGatewaySender(eventType, event); } if(callDispatchListenerEvent){ dispatchListenerEvent(eventType, event); } }
event.setOperation(Operation.DESTROY); } else if (op == Operation.PUT_IF_ABSENT) { event.setOperation(Operation.CREATE); } else if (op == Operation.REPLACE) { event.setOperation(Operation.UPDATE);
private EntryEventImpl createNewEvent(LocalRegion region, VersionTag tag, Object key) { EntryEventImpl updateTimeStampEvent = EntryEventImpl.createVersionTagHolder(tag); updateTimeStampEvent.setOperation(Operation.UPDATE_VERSION_STAMP); updateTimeStampEvent.setRegion(region); if (region instanceof PartitionedRegion) { updateTimeStampEvent.setKeyInfo(((PartitionedRegion)region).getKeyInfo(key)); } else { updateTimeStampEvent.setKeyInfo(new KeyInfo(key, null, 0)); } updateTimeStampEvent.setGenerateCallbacks(false); updateTimeStampEvent.distributedMember = region.getSystem().getDistributedMember(); updateTimeStampEvent.setNewEventId(region.getSystem()); return updateTimeStampEvent; }
private EntryEventImpl createNewEvent(LocalRegion region, VersionTag tag, Object key, Object value) { EntryEventImpl updateEvent = EntryEventImpl.createVersionTagHolder(tag); updateEvent.setOperation(Operation.UPDATE); updateEvent.setRegion(region); if (region instanceof PartitionedRegion) { updateEvent.setKeyInfo(((PartitionedRegion)region).getKeyInfo(key)); } else { updateEvent.setKeyInfo(new KeyInfo(key, value, null)); } updateEvent.setNewValue(value); updateEvent.setGenerateCallbacks(true); updateEvent.distributedMember = region.getSystem().getDistributedMember(); updateEvent.setNewEventId(region.getSystem()); return updateEvent; }
public void run() { Region myRegion = getCache().getRegion(regionName); EntryEventImpl event = ((LocalRegion)myRegion).generateEvictDestroyEvent(key10); event.setOperation(Operation.LOCAL_DESTROY); if (usePR) { BucketRegion bucket = ((PartitionedRegion)myRegion).getBucketRegion(key10); if (bucket != null) { event.setRegion(bucket); getLogWriter().info("performing local destroy in " + bucket + " ccEnabled="+bucket.concurrencyChecksEnabled + " rvv="+bucket.getVersionVector()); bucket.concurrencyChecksEnabled = false; // turn off cc so entry is removed bucket.mapDestroy(event, false, false, null); bucket.concurrencyChecksEnabled = true; } } else { ((LocalRegion)myRegion).concurrencyChecksEnabled = false; // turn off cc so entry is removed ((LocalRegion)myRegion).mapDestroy(event, false, false, null); ((LocalRegion)myRegion).concurrencyChecksEnabled = true; } } };
protected final boolean waitForRemotePut( final PutMessage.PutResponse response, final Object recipients, final EntryEventImpl event, boolean requireOldValue) throws PrimaryBucketException, ForceReattemptException { try { final PutResult pr = response.waitForResult(); // if (logger.fineEnabled()) { // logger.fine("return operation for put is " + pr.op); // } event.setOperation(pr.op); event.setVersionTag(pr.versionTag); if (requireOldValue) { event.setOldValue(pr.oldValue, true); } return pr.returnValue; } catch (RegionDestroyedException rde) { if (logger.fineEnabled()) { logger.fine("putRemotely: caught RegionDestroyedException", rde); } throw new RegionDestroyedException(toString(), getFullPath()); } catch (TransactionException te) { throw te; } catch (CacheException ce) { // Fix for bug 36014 throw new PartitionedRegionDistributionException( LocalizedStrings.PartitionedRegion_PUTTING_ENTRY_ON_0_FAILED .toLocalizedString(recipients), ce); } }
updateTimeStampEvent.setOperation(Operation.UPDATE_VERSION_STAMP); updateTimeStampEvent.setKeyInfo(event.getKeyInfo()); updateTimeStampEvent.setGenerateCallbacks(false);
updateTimeStampEvent.setOperation(Operation.UPDATE_VERSION_STAMP); updateTimeStampEvent.setKeyInfo(event); updateTimeStampEvent.setGenerateCallbacks(false);