/** * * @param b Bucket to evaluate * @param moveSource * @return true if it is allowed to be recovered * @since gemfire59poc */ public static boolean bucketIsAllowedOnThisHost(Bucket b, InternalDistributedMember moveSource) { if (b.getDistributionManager().enforceUniqueZone()) { Set<InternalDistributedMember> hostingMembers = b.getBucketOwners(); Set<InternalDistributedMember> buddyMembers = b.getDistributionManager().getMembersInThisZone(); boolean intersects = SetUtils.intersectsWith(hostingMembers, buddyMembers); boolean sourceIsOneThisHost = moveSource != null && buddyMembers.contains(moveSource); return !intersects || sourceIsOneThisHost; } else { return true; } } }
/** * * @param b Bucket to evaluate * @param moveSource * @return true if it is allowed to be recovered * @since gemfire59poc */ public static boolean bucketIsAllowedOnThisHost(Bucket b, InternalDistributedMember moveSource) { if (b.getDistributionManager().enforceUniqueZone()) { Set<InternalDistributedMember> hostingMembers = b.getBucketOwners(); Set<InternalDistributedMember> buddyMembers = b.getDistributionManager().getMembersInThisZone(); boolean intersects = SetUtils.intersectsWith(hostingMembers, buddyMembers); boolean sourceIsOneThisHost = moveSource != null && buddyMembers.contains(moveSource); return !intersects || sourceIsOneThisHost; } else { return true; } } }