public BucketPersistenceAdvisor(CacheDistributionAdvisor advisor, DistributedLockService dl, PersistentMemberView storage, String regionPath, DiskRegionStats diskStats, PersistentMemberManager memberManager, BucketLock bucketLock, ProxyBucketRegion proxyBucketRegion) { super(advisor, dl, storage, regionPath, diskStats, memberManager); this.bucketLock = bucketLock; recoveryListener = new RecoveryListener(); this.proxyBucket = proxyBucketRegion; addListener(recoveryListener); }
public void finishRemoveBucket() { if(this.persistenceAdvisor != null) { this.persistenceAdvisor.bucketRemoved(); } }
/** * Destroy the offline data just for this bucket. */ public void destroyOfflineData() { Map<InternalDistributedMember, PersistentMemberID> onlineMembers = advisor.adviseInitializedPersistentMembers(); persistenceAdvisor.checkMyStateOnMembers(onlineMembers.keySet()); diskRegion.beginDestroyDataStorage(); persistenceAdvisor.finishPendingDestroy(); if (logger.isDebugEnabled()) { logger.debug("destroyed persistent data for {}" + getFullPath()); } }
addListener(listener); boolean interrupted = false; try { if(updateMembershipView(onlineMembers.keySet())) { break; if(updateMembershipView(postRecoveryMembers)) { break; Set<PersistentMemberID> membersToWaitFor = getPersistedMembers(); beginUpdatingPersistentView(); break; removeListener(listener); if(interrupted) { Thread.currentThread().interrupt();
if(!persistAdvisor.wasHosting() && advisor.getHadPrimary()) { final PersistentMembershipView membershipView = persistAdvisor.getMembershipView(); if(membershipView == null) {
public Object call() throws Exception { Cache cache = getCache(); PartitionedRegion region = (PartitionedRegion) cache.getRegion(PR_REGION_NAME); return region.getRegionAdvisor().getProxyBucketArray()[bucketId] .getPersistenceAdvisor().getMembershipView().getOfflineMembers(); } };
public void close() { if(this.persistenceAdvisor != null) { this.persistenceAdvisor.close(); } this.advisor.closeAdvisor(); if(this.diskRegion != null) { this.diskRegion.close(null); } }
/** * Dumps out all profiles in this advisor AND all buckets. Callers should check * for debug enabled. * @param infoMsg prefix message to log */ @Override public void dumpProfiles(String infoMsg) { if (logger.isDebugEnabled()) { logger.debug("[dumpProfiles] dumping {}", this.toStringWithProfiles()); } // 1st dump all profiles for this RegionAdvisor super.dumpProfiles(infoMsg); // 2nd dump all profiles for each BucketAdvisor ProxyBucketRegion[] pbrs = this.buckets; if (pbrs == null) { return; } for (int i = 0; i < pbrs.length; i++) { pbrs[i].getBucketAdvisor().dumpProfiles(infoMsg); BucketPersistenceAdvisor persistentAdvisor = pbrs[i].getPersistenceAdvisor(); if(persistentAdvisor != null) { persistentAdvisor.dump(infoMsg); } } }
this.persistenceAdvisor = new BucketPersistenceAdvisor(advisor, dl, diskRegion, regionPath, diskStats, memberManager, bucketLock, this); } else {
if(realBucket != null) { PersistentMemberID persistentID = realBucket.getPersistentID(); persistentAdvisor.endBucketCreation(persistentID);
addListener(listener); boolean interrupted = false; try { if(updateMembershipView(onlineMembers.keySet())) { break; if(updateMembershipView(postRecoveryMembers)) { break; Set<PersistentMemberID> membersToWaitFor = getPersistedMembers(); beginUpdatingPersistentView(); break; removeListener(listener); if(interrupted) { Thread.currentThread().interrupt();
if(!persistAdvisor.wasHosting() && advisor.getHadPrimary()) { final PersistentMembershipView membershipView = persistAdvisor.getMembershipView(); if(membershipView == null) {
public void close() { if(this.persistenceAdvisor != null) { this.persistenceAdvisor.close(); } this.advisor.closeAdvisor(); if(this.diskRegion != null) { this.diskRegion.close(null); } }
/** * Dumps out all profiles in this advisor AND all buckets. * @param log the LogWriterI18n to write profile dump to * @param infoMsg prefix message to log */ @Override public void dumpProfiles(LogWriterI18n log, String infoMsg) { log.info(LocalizedStrings.DEBUG, "[dumpProfiles] dumping " + this.toStringWithProfiles()); // 1st dump all profiles for this RegionAdvisor super.dumpProfiles(log, infoMsg); // 2nd dump all profiles for each BucketAdvisor ProxyBucketRegion[] pbrs = this.buckets; if (pbrs == null) { return; } for (int i = 0; i < pbrs.length; i++) { pbrs[i].getBucketAdvisor().dumpProfiles(log, infoMsg); BucketPersistenceAdvisor persistentAdvisor = pbrs[i].getPersistenceAdvisor(); if(persistentAdvisor != null) { persistentAdvisor.dump(log, infoMsg); } } }
this.persistenceAdvisor = new BucketPersistenceAdvisor(advisor, dl, diskRegion, regionPath, diskStats, memberManager, bucketLock, this); } else {
if(realBucket != null) { PersistentMemberID persistentID = realBucket.getPersistentID(); persistentAdvisor.endBucketCreation(persistentID);
/** * Destroy the offline data just for this bucket. */ public void destroyOfflineData() { LogWriterI18n logger = partitionedRegion.getLogWriterI18n(); Map<InternalDistributedMember, PersistentMemberID> onlineMembers = advisor.adviseInitializedPersistentMembers(); persistenceAdvisor.checkMyStateOnMembers(onlineMembers.keySet()); diskRegion.beginDestroyDataStorage(); clearIndexes(logger); persistenceAdvisor.finishPendingDestroy(); // up memory (queries won't show the problem since they will skip this // bucket ID) if(logger.fineEnabled()) { logger.fine("destroyed persistent data for " + getFullPath()); } }
public BucketPersistenceAdvisor(CacheDistributionAdvisor advisor, DistributedLockService dl, PersistentMemberView storage, String regionPath, DiskRegionStats diskStats, PersistentMemberManager memberManager, BucketLock bucketLock, ProxyBucketRegion proxyBucketRegion) { super(advisor, dl, storage, regionPath, diskStats, memberManager); this.bucketLock = bucketLock; recoveryListener = new RecoveryListener(); this.proxyBucket = proxyBucketRegion; addListener(recoveryListener); }
public void finishRemoveBucket() { if(this.persistenceAdvisor != null) { this.persistenceAdvisor.bucketRemoved(); } }
public void addListeners() { for(ProxyBucketRegion proxyBucket : this.bucketRegions) { proxyBucket.getPersistenceAdvisor().addListener(RedundancyLogger.this); } }