public boolean isParallel() { return sender.isParallel(); }
private boolean hasSerialSenders(PartitionedRegion region) { boolean hasSenders = false; Set<String> senders = region.getAllGatewaySenderIds(); for (String sender : senders) { GatewaySender gatewaySender = this.getGatewaySender(sender); if (gatewaySender != null && !gatewaySender.isParallel()) { hasSenders = true; break; } } return hasSenders; }
public Set<String> getParallelGatewaySenderIds() { Set<String> regionGatewaySenderIds = this.getAllGatewaySenderIds(); if (regionGatewaySenderIds.isEmpty()) { return Collections.emptySet(); } Set<GatewaySender> cacheGatewaySenders = getCache().getAllGatewaySenders(); Set<String> parallelGatewaySenderIds = new HashSet<String>(); for (GatewaySender sender : cacheGatewaySenders) { if (regionGatewaySenderIds.contains(sender.getId()) && sender.isParallel()) { parallelGatewaySenderIds.add(sender.getId()); } } return parallelGatewaySenderIds; }
boolean isParallelWanEnabled() { Set<String> regionGatewaySenderIds = this.getAllGatewaySenderIds(); if (regionGatewaySenderIds.isEmpty()) { return false; } Set<GatewaySender> cacheGatewaySenders = getCache().getAllGatewaySenders(); for (GatewaySender sender : cacheGatewaySenders) { if (regionGatewaySenderIds.contains(sender.getId()) && sender.isParallel()) { return true; } } return false; }
for (InternalRegion region : applicationRegions) { Set<String> senders = region.getAllGatewaySenderIds(); if (senders.contains(sender.getId()) && !sender.isParallel()) { region.senderCreated(); if (!sender.isParallel()) { Region dynamicMetaRegion = getRegion(DynamicRegionFactory.DYNAMIC_REGION_LIST_NAME); if (dynamicMetaRegion == null) {
/** * Returns true if this region notifies multiple serial gateways. */ public boolean notifiesMultipleSerialGateways() { if (isPdxTypesRegion()) { return false; } Set<String> allGatewaySenderIds = getAllGatewaySenderIds(); if (!allGatewaySenderIds.isEmpty()) { List<Integer> allRemoteDSIds = getRemoteDsIds(allGatewaySenderIds); if (allRemoteDSIds != null) { int serialGatewayCount = 0; for (GatewaySender sender : getCache().getAllGatewaySenders()) { if (allGatewaySenderIds.contains(sender.getId())) { if (!sender.isParallel()) { serialGatewayCount++; if (serialGatewayCount > 1) { return true; } } } } } } return false; }
@Override public void preInitialize() { Set<String> allGatewaySenderIds = getAllGatewaySenderIds(); if (!allGatewaySenderIds.isEmpty()) { for (GatewaySender sender : this.cache.getAllGatewaySenders()) { if (sender.isParallel() && allGatewaySenderIds.contains(sender.getId())) { // Once decided to support REPLICATED regions with parallel // gateway-sender/asynchronous-event-queue, ShadowPartitionedRegionForUserRR should be // called and this validation should be removed. if (sender.getId().contains(AsyncEventQueueImpl.ASYNC_EVENT_QUEUE_PREFIX)) { throw new AsyncEventQueueConfigurationException( String.format( "Parallel Async Event Queue %s can not be used with replicated region %s", AsyncEventQueueImpl.getAsyncEventQueueIdFromSenderId(sender.getId()), this.getFullPath())); } else { throw new GatewaySenderConfigurationException( String.format( "Parallel gateway sender %s can not be used with replicated region %s", sender.getId(), this.getFullPath())); } } } } }
@Override public void addGatewaySenderId(String gatewaySenderId) { super.addGatewaySenderId(gatewaySenderId); new UpdateAttributesProcessor(this).distribute(); ((PartitionedRegion) this).distributeUpdatedProfileOnSenderCreation(); GatewaySender sender = getCache().getGatewaySender(gatewaySenderId); if (sender != null && sender.isParallel() && sender.isRunning()) { AbstractGatewaySender senderImpl = (AbstractGatewaySender) sender; ((ConcurrentParallelGatewaySenderQueue) senderImpl.getQueues().toArray(new RegionQueue[1])[0]) .addShadowPartitionedRegionForUserPR(this); } }
public static void checkAsyncEventQueueSize(String asyncQueueId, int numQueueEntries, boolean localSize) { AsyncEventQueueImpl aeq = (AsyncEventQueueImpl) cache.getAsyncEventQueue(asyncQueueId); GatewaySender sender = aeq.getSender(); if (sender.isParallel()) { Set<RegionQueue> queues = ((AbstractGatewaySender) sender).getQueues(); Region queueRegion = queues.toArray(new RegionQueue[queues.size()])[0].getRegion(); if (localSize) { queueRegion = PartitionRegionHelper.getLocalData(queueRegion); } assertEquals(numQueueEntries, queueRegion.size()); } else { Set<RegionQueue> queues = ((AbstractGatewaySender) sender).getQueues(); int size = 0; for (RegionQueue q : queues) { size += q.size(); } assertEquals(numQueueEntries, size); } }
@Override public void addAsyncEventQueueId(String asyncEventQueueId, boolean isInternal) { super.addAsyncEventQueueId(asyncEventQueueId, isInternal); new UpdateAttributesProcessor(this).distribute(); ((PartitionedRegion) this).distributeUpdatedProfileOnSenderCreation(); GatewaySender sender = getCache() .getGatewaySender(AsyncEventQueueImpl.getSenderIdFromAsyncEventQueueId(asyncEventQueueId)); if (sender != null && sender.isParallel() && sender.isRunning()) { AbstractGatewaySender senderImpl = (AbstractGatewaySender) sender; ((ConcurrentParallelGatewaySenderQueue) senderImpl.getQueues().toArray(new RegionQueue[1])[0]) .addShadowPartitionedRegionForUserPR(this); } }
if (allGatewaySenderIds.contains(sender.getId())) { if (!this.getDataPolicy().withStorage() && sender.isParallel()) { return;
String.valueOf(sender.getRemoteDSId())); if (generateDefaults() || sender.isParallel() != GatewaySender.DEFAULT_IS_PARALLEL) atts.addAttribute("", "", PARALLEL, "", String.valueOf(sender.isParallel()));
if (!allGatewaySenderIds.isEmpty()) { for (GatewaySender sender : cache.getAllGatewaySenders()) { if (sender.isParallel() && allGatewaySenderIds.contains(sender.getId())) {
@Override public void configureGatewaySender(GatewaySender senderCreation) { this.attrs.isParallel = senderCreation.isParallel(); this.attrs.manualStart = senderCreation.isManualStart(); this.attrs.socketBufferSize = senderCreation.getSocketBufferSize(); this.attrs.socketReadTimeout = senderCreation.getSocketReadTimeout(); this.attrs.isBatchConflationEnabled = senderCreation.isBatchConflationEnabled(); this.attrs.batchSize = senderCreation.getBatchSize(); this.attrs.batchTimeInterval = senderCreation.getBatchTimeInterval(); this.attrs.isPersistenceEnabled = senderCreation.isPersistenceEnabled(); this.attrs.diskStoreName = senderCreation.getDiskStoreName(); this.attrs.isDiskSynchronous = senderCreation.isDiskSynchronous(); this.attrs.maximumQueueMemory = senderCreation.getMaximumQueueMemory(); this.attrs.alertThreshold = senderCreation.getAlertThreshold(); this.attrs.dispatcherThreads = senderCreation.getDispatcherThreads(); this.attrs.policy = senderCreation.getOrderPolicy(); for (GatewayEventFilter filter : senderCreation.getGatewayEventFilters()) { this.attrs.eventFilters.add(filter); } for (GatewayTransportFilter filter : senderCreation.getGatewayTransportFilters()) { this.attrs.transFilters.add(filter); } this.attrs.eventSubstitutionFilter = senderCreation.getGatewayEventSubstitutionFilter(); } }
final GatewaySender sender = ((AsyncEventQueueImpl) theAsyncEventQueue).getSender(); if (sender.isParallel()) { final Set<RegionQueue> queues = ((AbstractGatewaySender) sender).getQueues();
if (!gs.isParallel()) af.addGatewaySenderId(gs.getId());
/** * @inheritDoc */ @Override public boolean isParallel() { return this.delegate.isParallel(); }
/** * @inheritDoc */ @Override public boolean isParallel() { return this.delegate.isParallel(); }
when(mockGatewaySender.isParallel()).thenAnswer(newGetter(parallel)); when(mockGatewaySender.isPaused()).thenAnswer(newGetter(running)); when(mockGatewaySender.isPersistenceEnabled()).thenAnswer(newGetter(persistenceEnabled));
.withDetail(gatewaySendersKey(gatewaySenderId, "max-parallelism-for-replicated-region"), gatewaySender.getMaxParallelismForReplicatedRegion()) .withDetail(gatewaySendersKey(gatewaySenderId, "order-policy"), gatewaySender.getOrderPolicy()) .withDetail(gatewaySendersKey(gatewaySenderId, "parallel"), toYesNoString(gatewaySender.isParallel())) .withDetail(gatewaySendersKey(gatewaySenderId, "paused"), toYesNoString(gatewaySender.isPaused())) .withDetail(gatewaySendersKey(gatewaySenderId, "persistent"), toYesNoString(gatewaySender.isPersistenceEnabled()))