public boolean isForceFireEvent(DistributionManager dm) { LocalRegion r = getRegionByPath(dm, regionPath); if (r instanceof PartitionedRegion || (r != null && r.isUsedForPartitionedRegionBucket())) { return false; } return true; }
/** * Convenience method to get region name for logging/exception messages. if this region is an * instanceof bucket region, it returns the bucket region name * * @return name of the region or the owning partitioned region */ @Override public String getDisplayName() { if (this.isUsedForPartitionedRegionBucket()) { return this.getPartitionedRegion().getName(); } return this.regionName; }
/** * @return true if this is not a user visible region */ @Override public boolean isInternalRegion() { return isSecret() || isUsedForMetaRegion() || isUsedForPartitionedRegionAdmin() || isUsedForPartitionedRegionBucket(); }
protected FilterRoutingInfo getRecipientFilterRouting(Set cacheOpRecipients) { LocalRegion region = getRegion(); if (!region.isUsedForPartitionedRegionBucket()) { return null; } CacheDistributionAdvisor advisor; advisor = region.getPartitionedRegion().getCacheDistributionAdvisor(); return advisor.adviseFilterRouting(this.event, cacheOpRecipients); }
static boolean shouldInvokeCallbacks(final LocalRegion owner, final boolean isInitialized) { LocalRegion lr = owner; boolean isPartitioned = lr.isUsedForPartitionedRegionBucket(); if (isPartitioned) { /* * if(!((BucketRegion)lr).getBucketAdvisor().isPrimary()) { * if(!BucketRegion.FORCE_LOCAL_LISTENERS_INVOCATION) { return false; } } */ lr = owner.getPartitionedRegion(); } return (isPartitioned || isInitialized) && (lr.shouldDispatchListenerEvent() || lr.shouldNotifyBridgeClients() || lr.getConcurrencyChecksEnabled()); }
if (lclRgn != null && !lclRgn.isUsedForPartitionedRegionBucket() && targetReinitialized && !lclRgn.reinitialized_new()) {
ServerCQImpl cQuery = (ServerCQImpl) cqEntry.getValue(); if (!event.isOriginRemote() && event.getOperation().isRegionDestroy() && !((LocalRegion) event.getRegion()).isUsedForPartitionedRegionBucket()) { try { if (isDebugEnabled) {
} else if (((LocalRegion) cda).isUsedForPartitionedRegionBucket()) { this.eventState = ((LocalRegion) cda).getEventState();
if (lclRgn.isUsedForPartitionedRegionBucket()) { if (!((BucketRegion) lclRgn).isPartitionedRegionOpen()) { if (logger.isDebugEnabled()) { replyMsg.skippedCompatibilityChecks = this.skippedCompatibilityChecks; if (lclRgn != null && lclRgn.isUsedForPartitionedRegionBucket()) { replyMsg.seqKeyForWan = ((BucketRegion) lclRgn).getEventSeqNum().get();
@Override public void txApplyPut(Operation putOp, Object key, Object nv, boolean didDestroy, TransactionId txId, TXRmtEvent txEvent, EventID eventId, Object aCallbackArgument, List<EntryEventImpl> pendingCallbacks, FilterRoutingInfo filterRoutingInfo, ClientProxyMembershipID bridgeContext, TXEntryState txEntryState, VersionTag versionTag, long tailKey) { assert pendingCallbacks != null; final LocalRegion owner = _getOwner(); @Released final EntryEventImpl callbackEvent = createTransactionCallbackEvent(owner, putOp, key, nv, txId, txEvent, eventId, aCallbackArgument, filterRoutingInfo, bridgeContext, txEntryState, versionTag, tailKey); if (owner.isUsedForPartitionedRegionBucket()) { callbackEvent.makeSerializedNewValue(); txHandleWANEvent(owner, callbackEvent, txEntryState); } RegionMapCommitPut commitPut = new RegionMapCommitPut(this, owner, callbackEvent, putOp, didDestroy, txId, txEvent, pendingCallbacks, txEntryState); commitPut.put(); }
if (((LocalRegion) newRegion).isUsedForPartitionedRegionBucket()) { replyProc.enableSevereAlertProcessing(); msg.severeAlertCompatible = true; replyProc.cleanup(); ((LocalRegion) this.newRegion).getEventTracker().setInitialized(); if (((LocalRegion) this.newRegion).isUsedForPartitionedRegionBucket()) { if (logger.isDebugEnabled()) { logger.debug("initialized bucket event tracker: {}",
if (!this.isUsedForPartitionedRegionBucket()) { generateLocalFilterRouting(ice);
/** * @return true if the event should not be tracked, false otherwise */ private boolean ignoreEvent(InternalCacheEvent event, EventID eventID) { if (eventID == null) { return true; } else { boolean isVersioned = (event.getVersionTag() != null); boolean isClient = event.hasClientOrigin(); if (isVersioned && isClient) { return false; // version tags for client events are kept for retries by the client } boolean isEntry = event.getOperation().isEntry(); boolean isPr = event.getRegion().getAttributes().getDataPolicy().withPartitioning() || ((LocalRegion) event.getRegion()).isUsedForPartitionedRegionBucket(); return (!isClient && // ignore if it originated on a server, and isEntry && // it affects an entry and !isPr); // is not on a PR } }
if (lr.isUsedForPartitionedRegionBucket()) { ((BucketRegion) lr).updateEventSeqNum(reply.seqKeyForWan);
@Override public Collection<?> getRegionKeysForIteration(LocalRegion currRegion) { if (currRegion.isUsedForPartitionedRegionBucket()) { return currRegion.getRegionKeysForIteration(); } else { boolean resetTxState = isTransactionInternalSuspendNeeded(currRegion); TXStateProxy txp = null; if (resetTxState) { txp = getTxMgr().pauseTransaction(); } try { if (resetTxState) { return currRegion.getSharedDataView().getRegionKeysForIteration(currRegion); } return getRealDeal(null, currRegion).getRegionKeysForIteration(currRegion); } finally { if (resetTxState) { getTxMgr().unpauseTransaction(txp); } } } }
@Override protected FilterRoutingInfo getRecipientFilterRouting(Set cacheOpRecipients) { // for removeAll, we need to determine the routing information for each event and // create a consolidated routing object representing all events that can be // used for distribution CacheDistributionAdvisor advisor; LocalRegion region = (LocalRegion) this.event.getRegion(); if (region instanceof PartitionedRegion) { advisor = ((PartitionedRegion) region).getCacheDistributionAdvisor(); } else if (region.isUsedForPartitionedRegionBucket()) { advisor = ((BucketRegion) region).getPartitionedRegion().getCacheDistributionAdvisor(); } else { advisor = ((DistributedRegion) region).getCacheDistributionAdvisor(); } FilterRoutingInfo consolidated = new FilterRoutingInfo(); for (int i = 0; i < this.removeAllData.length; i++) { @Unretained EntryEventImpl ev = getEventForPosition(i); if (ev != null) { FilterRoutingInfo eventRouting = advisor.adviseFilterRouting(ev, cacheOpRecipients); if (eventRouting != null) { consolidated.addFilterInfo(eventRouting); } removeAllData[i].filterRouting = eventRouting; } } // we need to create routing information for each PUT event return consolidated; }
@Override protected FilterRoutingInfo getRecipientFilterRouting(Set cacheOpRecipients) { // for putAll, we need to determine the routing information for each event and // create a consolidated routing object representing all events that can be // used for distribution CacheDistributionAdvisor advisor; LocalRegion region = (LocalRegion) this.event.getRegion(); if (region instanceof PartitionedRegion) { advisor = ((PartitionedRegion) region).getCacheDistributionAdvisor(); } else if (region.isUsedForPartitionedRegionBucket()) { advisor = ((BucketRegion) region).getPartitionedRegion().getCacheDistributionAdvisor(); } else { advisor = ((DistributedRegion) region).getCacheDistributionAdvisor(); } FilterRoutingInfo consolidated = new FilterRoutingInfo(); for (int i = 0; i < this.putAllData.length; i++) { @Unretained EntryEventImpl ev = getEventForPosition(i); if (ev != null) { FilterRoutingInfo eventRouting = advisor.adviseFilterRouting(ev, cacheOpRecipients); if (eventRouting != null) { consolidated.addFilterInfo(eventRouting); } putAllData[i].filterRouting = eventRouting; } } // we need to create routing information for each PUT event return consolidated; }
final boolean isBucket = rgn.isUsedForPartitionedRegionBucket(); if (isBucket) { BucketRegion br = (BucketRegion) rgn; final long startPut = CachePerfStats.getStatTime(); boolean overwriteDestroyed = ev.getOperation().isCreate(); final boolean isBucket = rgn.isUsedForPartitionedRegionBucket(); if (isBucket) { BucketRegion br = (BucketRegion) rgn; if (rgn.isUsedForPartitionedRegionBucket() || (rgn.getDataPolicy().withReplication() && rgn.getConcurrencyChecksEnabled())) { overwriteDestroyed = true;
try { if (owner.isUsedForPartitionedRegionBucket()) { txHandleWANEvent(owner, callbackEvent, txEntryState); logger.debug("txApplyDestroy token mode callbackEvent={}", callbackEvent); if (owner.isUsedForPartitionedRegionBucket()) { txHandleWANEvent(owner, callbackEvent, txEntryState); logger.debug("txApplyDestroy token mode callbackEvent={}", callbackEvent); if (owner.isUsedForPartitionedRegionBucket()) { txHandleWANEvent(owner, callbackEvent, txEntryState); filterRoutingInfo, bridgeContext, txEntryState, versionTag, tailKey); try { if (owner.isUsedForPartitionedRegionBucket()) { txHandleWANEvent(owner, callbackEvent, txEntryState);