@Override public void setPdxReadSerializedOverride(boolean pdxReadSerialized) { delegate.setPdxReadSerializedOverride(pdxReadSerialized); }
@Override public void processEvents(CacheEvent event, Profile localProfile, Profile[] profiles, FilterRoutingInfo frInfo) throws CqException { // Is this a region event or an entry event if (event instanceof RegionEvent) { processRegionEvent(event, localProfile, profiles, frInfo); } else { // Use the PDX types in serialized form. Boolean initialPdxReadSerialized = this.cache.getPdxReadSerializedOverride(); this.cache.setPdxReadSerializedOverride(true); try { processEntryEvent(event, localProfile, profiles, frInfo); } finally { this.cache.setPdxReadSerializedOverride(initialPdxReadSerialized); } } }
private PdxInstance getPdxNewValue(EntryEvent<K, V> event) { Boolean initialPdxReadSerialized = cache.getPdxReadSerializedOverride(); cache.setPdxReadSerializedOverride(true); try { Object newValue = event.getNewValue(); if (!(newValue instanceof PdxInstance)) { SerializedCacheValue<V> serializedNewValue = event.getSerializedNewValue(); if (serializedNewValue != null) { newValue = serializedNewValue.getDeserializedValue(); } else { newValue = CopyHelper.copy(newValue); } if (newValue != null && !(newValue instanceof PdxInstance)) { String valueClassName = newValue.getClass().getName(); throw new IllegalArgumentException(getClass().getSimpleName() + " only supports PDX values; newValue is " + valueClassName); } } return (PdxInstance) newValue; } finally { cache.setPdxReadSerializedOverride(initialPdxReadSerialized); } }
@Test public void pdxReadSerializedFlagShouldBeResetBackToOriginalValueAfterProcessingEvents() { ArgumentCaptor valueCapture = ArgumentCaptor.forClass(Boolean.class); doNothing().when(cache).setPdxReadSerializedOverride((Boolean) valueCapture.capture()); boolean originalPdxReadSerialized = cache.getPdxReadSerializedOverride(); try { cache.setPdxReadSerializedOverride(true); Assert.assertTrue((Boolean) valueCapture.getValue()); listener.process(new LinkedList<>()); Assert.assertTrue(!(Boolean) valueCapture.getValue()); } finally { cache.setPdxReadSerializedOverride(originalPdxReadSerialized); } }
cache.setPdxReadSerializedOverride(true); cache.setPdxReadSerializedOverride(initialPdxReadSerialized);
@Override public boolean processEvents(List<AsyncEvent> events) { changeTotalEvents(events.size()); if (!events.isEmpty()) { checkInitialized((InternalCache) events.get(0).getRegion().getRegionService()); } Boolean initialPdxReadSerialized = cache.getPdxReadSerializedOverride(); cache.setPdxReadSerializedOverride(true); try { for (AsyncEvent event : events) { if (eventCanBeIgnored(event.getOperation())) { changeIgnoredEvents(1); continue; } try { getSqlHandler().write(event.getRegion(), event.getOperation(), event.getKey(), getPdxInstance(event)); changeSuccessfulEvents(1); } catch (SQLException | RuntimeException ex) { changeFailedEvents(1); logger.error("Exception processing event {}", event, ex); } } } finally { cache.setPdxReadSerializedOverride(initialPdxReadSerialized); } return true; }
HashMap<String, Exception> exceptionsMap = new HashMap<String, Exception>(); boolean oldReadSerialized = this.cache.getPdxReadSerializedOverride(); this.cache.setPdxReadSerializedOverride(true); try { Iterator entryIter = ((LocalRegion) region).getBestIterator(true); this.cache.setPdxReadSerializedOverride(oldReadSerialized); notifyAfterUpdate();
protected boolean process(final List<AsyncEvent> events) { cache.setPdxReadSerializedOverride(true); throw new InternalGemFireError("Unable to save to lucene index", e); } finally { cache.setPdxReadSerializedOverride(initialPdxReadSerialized);
pr.getCache().setPdxReadSerializedOverride(true); this.resultCollector.remove(queryTraceList); pr.getCache().setPdxReadSerializedOverride(initialPdxReadSerialized); query.setRemoteQuery(false); query.endTrace(indexObserver, traceStartTime, this.resultCollector);
this.cache.setPdxReadSerializedOverride(true); this.cache.setPdxReadSerializedOverride(oldReadSerialized); ((TXManagerImpl) this.cache.getCacheTransactionManager()).unpauseTransaction(tx);
final long startPA = getCachePerfStats().startIndexUpdate(); Boolean initialPdxReadSerialized = this.cache.getPdxReadSerializedOverride(); this.cache.setPdxReadSerializedOverride(true); TXStateProxy tx = null; if (!this.cache.isClient()) { this.cache.setPdxReadSerializedOverride(initialPdxReadSerialized); ((TXManagerImpl) this.cache.getCacheTransactionManager()).unpauseTransaction(tx);
InternalCache cache = (InternalCache) userRegion.getRegionService(); boolean initialPdxReadSerializedFlag = cache.getPdxReadSerializedOverride(); cache.setPdxReadSerializedOverride(true); try { lockService.unlock(lockName); cache.setPdxReadSerializedOverride(initialPdxReadSerializedFlag);
try { this.cache.setPdxReadSerializedOverride(true); ExecutionContext context = new QueryExecutionContext(params, this.cache, this); indexObserver = this.startTrace(); return reinterpretQueryExecutionCanceledException(); } finally { this.cache.setPdxReadSerializedOverride(initialPdxReadSerialized); if (queryMonitor != null) { queryMonitor.stopMonitoringQueryThread(this);