protected RegionQueue getQueue() { return this.sender.eventProcessor.getQueue(); }
public RegionQueue getQueue() { if (this.eventProcessor != null) { if (!(this.eventProcessor instanceof ConcurrentSerialGatewaySenderEventProcessor)) { return this.eventProcessor.getQueue(); } else { throw new IllegalArgumentException("getQueue() for concurrent serial gateway sender"); } } return null; }
@Override public Set<RegionQueue> getQueues() { if (this.eventProcessor != null) { if (!(this.eventProcessor instanceof ConcurrentSerialGatewaySenderEventProcessor)) { Set<RegionQueue> queues = new HashSet<RegionQueue>(); queues.add(this.eventProcessor.getQueue()); return queues; } return ((ConcurrentSerialGatewaySenderEventProcessor) this.eventProcessor).getQueues(); } return null; }
@Override public int getTotalQueueSize() { return getQueue().size(); }
protected void notifyEventProcessor() { AbstractGatewaySender sender = getPartitionedRegion().getParallelGatewaySender(); if (sender != null) { AbstractGatewaySenderEventProcessor ep = sender.getEventProcessor(); if (ep != null) { ConcurrentParallelGatewaySenderQueue queue = (ConcurrentParallelGatewaySenderQueue) ep.getQueue(); if (logger.isDebugEnabled()) { logger.debug("notifyEventProcessor : {} event processor {} queue {}", sender, ep, queue); } queue.notifyEventProcessorIfRequired(this.getId()); } } }
return; ConcurrentParallelGatewaySenderQueue queue = (ConcurrentParallelGatewaySenderQueue) ep.getQueue();
@Override public void stop() { this.getLifeCycleLock().writeLock().lock(); try { if (!this.isRunning()) { return; } stopProcessing(); stompProxyDead(); // Close the listeners for (AsyncEventListener listener : this.listeners) { listener.close(); } // stop the running threads, open sockets if any ((ConcurrentParallelGatewaySenderQueue) this.eventProcessor.getQueue()).cleanUp(); logger.info("Stopped {}", this); InternalDistributedSystem system = (InternalDistributedSystem) this.cache.getDistributedSystem(); system.handleResourceEvent(ResourceEvent.GATEWAYSENDER_STOP, this); clearTempEventsAfterSenderStopped(); } finally { this.getLifeCycleLock().writeLock().unlock(); } }
@Override public void stop() { this.getLifeCycleLock().writeLock().lock(); try { if (!this.isRunning()) { return; } // Stop the dispatcher stopProcessing(); // Stop the proxy (after the dispatcher, so the socket is still // alive until after the dispatcher has stopped) stompProxyDead(); // Close the listeners for (AsyncEventListener listener : this.listeners) { listener.close(); } // stop the running threads, open sockets if any ((ConcurrentParallelGatewaySenderQueue) this.eventProcessor.getQueue()).cleanUp(); logger.info("Stopped {}", this); InternalDistributedSystem system = (InternalDistributedSystem) this.cache.getDistributedSystem(); system.handleResourceEvent(ResourceEvent.GATEWAYSENDER_STOP, this); clearTempEventsAfterSenderStopped(); // Keep the eventProcessor around so we can ask it for the regionQueues later. // Tests expect to be able to do this. } finally { this.getLifeCycleLock().writeLock().unlock(); } }
protected void clearAllTempQueueForShadowPR(final int bucketId) { List<PartitionedRegion> colocatedWithList = ColocationHelper.getColocatedChildRegions(partitionedRegion); for (PartitionedRegion childRegion : colocatedWithList) { if (childRegion.isShadowPR()) { AbstractGatewaySender sender = childRegion.getParallelGatewaySender(); if (sender == null) { return; } AbstractGatewaySenderEventProcessor eventProcessor = sender.getEventProcessor(); if (eventProcessor == null) { return; } ConcurrentParallelGatewaySenderQueue queue = (ConcurrentParallelGatewaySenderQueue) eventProcessor.getQueue(); if (queue == null) { return; } BlockingQueue<GatewaySenderEventImpl> tempQueue = queue.getBucketTmpQueue(bucketId); if (tempQueue != null) { synchronized (tempQueue) { for (GatewaySenderEventImpl event : tempQueue) { event.release(); } tempQueue.clear(); } } } } }
"{} : Dispatched batch (id={}) of {} events, queue size: {} on connection {}", this.processor.getSender(), currentBatchId, events.size(), this.processor.getQueue().size(), connection);
GatewaySenderEventImpl event = (GatewaySenderEventImpl) itr.next(); PartitionedRegion qpr = null; if (this.getQueue() instanceof ConcurrentParallelGatewaySenderQueue) { qpr = ((ConcurrentParallelGatewaySenderQueue) this.getQueue()) .getRegion(event.getRegionPath()); } else { qpr = ((ParallelGatewaySenderQueue) this.getQueue()) .getRegion(event.getRegionPath());
continue; ConcurrentParallelGatewaySenderQueue parallelQueue = (ConcurrentParallelGatewaySenderQueue) ep.getQueue(); PartitionedRegion parallelQueueRegion = parallelQueue.getRegion(this.getFullPath());