@Override protected boolean operateOnRegion(CacheEvent event, DistributionManager dm) throws EntryNotFoundException { EntryEventImpl ev = (EntryEventImpl)event; DistributedRegion rgn = (DistributedRegion)ev.region; try { if (!rgn.isCacheContentProxy()) { if (logger.isTraceEnabled()) { logger.trace("UpdateEntryVersionMessage.operationOnRegion; key={}", ev.getKey()); } if (rgn.getConcurrencyChecksEnabled()) { rgn.basicUpdateEntryVersion(ev); } } this.appliedOperation = true; return true; } catch (ConcurrentCacheModificationException e) { if (logger.isTraceEnabled()) { logger.trace("UpdateEntryVersionMessage.operationOnRegion; ConcurrentCacheModificationException occured for key={}", ev.getKey()); } return true; // concurrent modification problems are not reported to senders } catch (CacheWriterException e) { throw new Error(LocalizedStrings.UpdateVersionOperation_CACHEWRITER_SHOULD_NOT_BE_CALLED.toLocalizedString(), e); } catch (TimeoutException e) { throw new Error(LocalizedStrings.UpdateVersionOperation_DISTRIBUTEDLOCK_SHOULD_NOT_BE_ACQUIRED.toLocalizedString(), e); } }
/** * process the memberid:threadid -> sequence# information transmitted * along with an initial image from another cache */ void processRegionStateMessage(RegionStateMessage msg) { if (msg.eventState != null) { logger.debug("Applying event state to region {} from {}", region.getName(), msg.getSender()); region.recordEventState(msg.getSender(), msg.eventState); } if (msg.versionVector != null && msg.getSender().getVersionObject().compareTo(Version.GFE_80) < 0 && region.getConcurrencyChecksEnabled()) { // for older version, save received rvv from RegionStateMessage logger.debug("Applying version vector to {}: {}", region.getName(), msg.versionVector); // pack the original RVV, then save the received one if (internalBeforeSavedReceivedRVV != null && internalBeforeSavedReceivedRVV.getRegionName().equals(region.getName())) { internalBeforeSavedReceivedRVV.run(); } saveReceivedRVV(msg.versionVector); if (internalAfterSavedReceivedRVV != null && internalAfterSavedReceivedRVV.getRegionName().equals(region.getName())) { internalAfterSavedReceivedRVV.run(); } } }
@Override protected boolean operateOnRegion(CacheEvent event, DistributionManager dm) throws EntryNotFoundException { EntryEventImpl ev = (EntryEventImpl)event; DistributedRegion rgn = (DistributedRegion)ev.region; try { if (!rgn.isCacheContentProxy()) { if (logger.isTraceEnabled()) { logger.trace("InvalidateMessage.operationOnRegion; key={}", ev.getKey()); } // if this is a mirrored region and we're still initializing, or // concurrency conflict detection is enabled (requiring version # // retention) then force new entry creation boolean forceNewEntry = rgn.dataPolicy.withReplication() && (!rgn.isInitialized() || rgn.getConcurrencyChecksEnabled()); boolean invokeCallbacks = rgn.isInitialized(); rgn.basicInvalidate(ev, invokeCallbacks, forceNewEntry); } this.appliedOperation = true; return true; } catch (ConcurrentCacheModificationException e) { dispatchElidedEvent(rgn, ev); return true; // concurrent modification problems are not reported to senders } }
@Override protected boolean operateOnRegion(CacheEvent event, DistributionManager dm) throws EntryNotFoundException { EntryEventImpl ev = (EntryEventImpl)event; LogWriterI18n log = ev.region.getCache().getLoggerI18n(); DistributedRegion rgn = (DistributedRegion)ev.region; try { if (!rgn.isCacheContentProxy()) { if (log.finerEnabled()) { log.finer("UpdateEntryVersionMessage.operationOnRegion; key=" + ev.getKey()); } if (rgn.getConcurrencyChecksEnabled()) { rgn.basicUpdateEntryVersion(ev); } } this.appliedOperation = true; return true; } catch (ConcurrentCacheModificationException e) { if (log.finerEnabled()) { log.finer("UpdateEntryVersionMessage.operationOnRegion; ConcurrentCacheModificationException occured for key=" + ev.getKey()); } return true; // concurrent modification problems are not reported to senders } catch (CacheWriterException e) { throw new Error(LocalizedStrings.UpdateVersionOperation_CACHEWRITER_SHOULD_NOT_BE_CALLED.toLocalizedString(), e); } catch (TimeoutException e) { throw new Error(LocalizedStrings.UpdateVersionOperation_DISTRIBUTEDLOCK_SHOULD_NOT_BE_ACQUIRED.toLocalizedString(), e); } }
@Override protected boolean operateOnRegion(CacheEvent event, DistributionManager dm) throws EntryNotFoundException { EntryEventImpl ev = (EntryEventImpl)event; DistributedRegion rgn = (DistributedRegion)ev.region; try { if (!rgn.isCacheContentProxy()) { LogWriterI18n log = ev.region.getCache().getLoggerI18n(); if (log.finerEnabled()) { log.finer("InvalidateMessage.operationOnRegion; key=" + ev.getKey()); } // if this is a mirrored region and we're still initializing, or // concurrency conflict detection is enabled (requiring version # // retention) then force new entry creation boolean forceNewEntry = rgn.dataPolicy.withReplication() && (!rgn.isInitialized() || rgn.getConcurrencyChecksEnabled()); boolean invokeCallbacks = rgn.isInitialized(); rgn.basicInvalidate(ev, invokeCallbacks, forceNewEntry); } this.appliedOperation = true; return true; } catch (ConcurrentCacheModificationException e) { dispatchElidedEvent(rgn, ev); return true; // concurrent modification problems are not reported to senders } }
if (this.versionVector.isForSynchronization() && !rgn.getConcurrencyChecksEnabled()) { if (isGiiDebugEnabled) { logger.trace(LogMarker.GII, "ignoring synchronization request as this region has no version vector");
if(getTXUniqId()!=TXManagerImpl.NOTX || dr.getConcurrencyChecksEnabled()) { dr.getDataView().postRemoveAll(op, versions, dr);
if(getTXUniqId()!=TXManagerImpl.NOTX || dr.getConcurrencyChecksEnabled()) { dr.getDataView().postPutAll(dpao, versions, dr);
.keyRequiresRegionContext(); final boolean versioningEnabled = this.region .getConcurrencyChecksEnabled(); final ByteArrayDataInput in = new ByteArrayDataInput(); final HeapDataOutputStream out = new HeapDataOutputStream(
if (this.versionVector.isForSynchronization() && !rgn.getConcurrencyChecksEnabled()) { if (TRACE_GII) { logger.info(LocalizedStrings.DEBUG, "ignoring synchronization request as this region has no version vector");
.getConcurrencyChecksEnabled(); advisor.accept(finishRegionVisitor, recipients);