@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; 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 } }