/** * Creates a new RedundancyLogger. * @param prhaRedundancyProvider */ public RedundancyLogger(PRHARedundancyProvider prhaRedundancyProvider) { super(prhaRedundancyProvider); PartitionedRegion baseRegion = ColocationHelper.getLeaderRegion(redundancyProvider.prRegion); List<PartitionedRegion> colocatedRegions = ColocationHelper.getColocatedChildRegions(baseRegion); List<RegionStatus> allRegions = new ArrayList<RegionStatus>(colocatedRegions.size() + 1); if(baseRegion.getDataPolicy().withPersistence()) { allRegions.add(new RegionStatus(baseRegion)); } for(PartitionedRegion region : colocatedRegions) { if(region.getDataPolicy().withPersistence()) { allRegions.add(new RegionStatus(region)); } } this.regions = Collections.unmodifiableList(allRegions); this.allBucketsRecoveredFromDisk = redundancyProvider.getAllBucketsRecoveredFromDiskLatch(); this.membershipChanged = true; addListeners(); }
/** * Creates a new RedundancyLogger. * @param prhaRedundancyProvider */ public RedundancyLogger(PRHARedundancyProvider prhaRedundancyProvider) { super(prhaRedundancyProvider); this.logger = redundancyProvider.getLogger(); PartitionedRegion baseRegion = ColocationHelper.getLeaderRegion(redundancyProvider.prRegion); List<PartitionedRegion> colocatedRegions = ColocationHelper.getColocatedChildRegions(baseRegion); List<RegionStatus> allRegions = new ArrayList<RegionStatus>(colocatedRegions.size() + 1); if(baseRegion.getDataPolicy().withPersistence()) { allRegions.add(new RegionStatus(baseRegion)); } for(PartitionedRegion region : colocatedRegions) { if(region.getDataPolicy().withPersistence()) { allRegions.add(new RegionStatus(region)); } } this.regions = Collections.unmodifiableList(allRegions); this.allBucketsRecoveredFromDisk = redundancyProvider.getAllBucketsRecoveredFromDiskLatch(); this.membershipChanged = true; addListeners(); }