protected final Iterator<Integer> createBucketSetI( final Set<Integer> bucketSet) { if (bucketSet != null) { return bucketSet.iterator(); } return getRegionAdvisor().getBucketSet().iterator(); }
protected Iterator<Integer> createBucketSetI() { if (this.bucketSet != null) { return this.bucketSet.iterator(); } return getRegionAdvisor().getBucketSet().iterator(); }
public boolean include(Profile profile) { if (profile instanceof PartitionProfile && nodes.contains(profile.getDistributedMember())) { PartitionProfile p = (PartitionProfile)profile; orderedSet.add(new NodeBucketSize(p.numBuckets, p .getDistributedMember())); return true; } else if (profile instanceof PartitionProfile && nodes.contains(self)) { orderedSet.add(new NodeBucketSize(getBucketSet().size(), self)); return true; } return false; } });
public boolean include(Profile profile) { if (profile instanceof PartitionProfile && nodes.contains(profile.getDistributedMember())) { PartitionProfile p = (PartitionProfile)profile; orderedSet.add(new NodeBucketSize(p.numBuckets, p .getDistributedMember())); return true; } else if (profile instanceof PartitionProfile && nodes.contains(self)) { orderedSet.add(new NodeBucketSize(getBucketSet().size(), self)); return true; } return false; } });
static protected void checkBucketMetadataCleanup(final PartitionedRegion pr, final InternalDistributedMember memberId) { Iterator itr = pr.getRegionAdvisor().getBucketSet().iterator(); try { while (itr.hasNext()) { final Integer bucketId = (Integer)itr.next(); assertTrue("CLeanup did not remove member from bucket meta-data, member=" + memberId + " from bucket=" + pr.bucketStringForLogs(bucketId.intValue()), !pr.getRegionAdvisor() .getBucketOwners(bucketId.intValue()).contains(memberId)); } } catch (NoSuchElementException done) { } } }
public void run() { Cache c = getCache(); PartitionedRegion r = (PartitionedRegion) c.getRegion(regionName); int i = 0; // Create all the buckets for (;;) { r.put(new Integer(i), "v-" + Integer.toString(i)); i++; if (((i % 10) == 0) && r.getRegionAdvisor().getBucketSet().size() >= maxBuckets) { break; } } } });
public void run2() throws CacheException { getCache(); Map prIDmap = PartitionedRegion.prIdToPR; Iterator itr = prIDmap.values().iterator(); while (itr.hasNext()) { Object o = itr.next(); if (o == PartitionedRegion.PRIdMap.DESTROYED) { continue; } PartitionedRegion prRegion = (PartitionedRegion) o; Iterator bukI = prRegion.getRegionAdvisor().getBucketSet().iterator(); while(bukI.hasNext()) { Integer bucketId = (Integer) bukI.next(); Set bucketOwners = prRegion.getRegionAdvisor().getBucketOwners(bucketId.intValue()); if (bucketOwners.contains(dsMember)) { fail("Failed DistributedMember's = " + dsMember + " bucket [" + prRegion.bucketStringForLogs(bucketId.intValue()) + "] meta-data not cleared for partitioned region " + prRegion); } } } } };
public List<DistributedMember> orderDataStoresUsingBucketCount(final Set nodes) { final Set<NodeBucketSize> orderedSet = new TreeSet<NodeBucketSize>(); final List<DistributedMember> orderedList = new ArrayList<DistributedMember>(); final DistributedMember self = getDistributionManager().getDistributionManagerId(); adviseFilter(new Filter() { public boolean include(Profile profile) { if (profile instanceof PartitionProfile && nodes.contains(profile.getDistributedMember())) { PartitionProfile p = (PartitionProfile)profile; orderedSet.add(new NodeBucketSize(p.numBuckets, p .getDistributedMember())); return true; } else if (profile instanceof PartitionProfile && nodes.contains(self)) { orderedSet.add(new NodeBucketSize(getBucketSet().size(), self)); return true; } return false; } }); if (nodes.contains(self) && !orderedSet.contains(new NodeBucketSize(getBucketSet().size(), self))){ orderedSet.add(new NodeBucketSize(getBucketSet().size(),self)); } for (NodeBucketSize node : orderedSet) { orderedList.add(node.member); } return orderedList; }
public Object call() throws Exception { PartitionedRegion r = (PartitionedRegion) getCache().getRegion(uniqName + "0"); // Create some buckets int i=0; final int bucketTarget = 2; while (r.getRegionAdvisor().getBucketSet().size() < bucketTarget) { if (i > r.getTotalNumberOfBuckets()) { fail("Expected there to be " + bucketTarget + " buckets after " + i + " iterations"); } Object k = new Integer(i++); r.put(k, k.toString()); } // Grab a bucket id Integer bucketId = r.getRegionAdvisor().getBucketSet().iterator().next(); assertNotNull(bucketId); // Find a host for the bucket Set bucketOwners = r.getRegionAdvisor().getBucketOwners(bucketId.intValue()); assertEquals(bucketOwners.size(), redundantCopies + 1); DistributedMember bucketOwner = (DistributedMember) bucketOwners.iterator().next(); assertNotNull(bucketOwner); getLogWriter().info("Selected distributed member " + bucketOwner + " to disconnect because it hosts bucketId " + bucketId); return bucketOwner; } });
public void run() { for (int i=0; i<numRegions; i++) { // region loop PartitionedRegion pr = (PartitionedRegion) getCache().getRegion(uniqName + i); Iterator bucketIdsWithStorage = pr.getRegionAdvisor().getBucketSet().iterator(); while (bucketIdsWithStorage.hasNext()) { // bucketId loop final int bucketId = ((Integer) bucketIdsWithStorage.next()).intValue(); do { // retry loop try { List owners = pr.getBucketOwnersForValidation(bucketId); assertEquals(pr.getRedundantCopies() + 1, owners.size()); break; // retry loop } catch (ForceReattemptException retryIt) { getLogWriter().info("Need to retry validation for bucket in PR " + pr, retryIt); } } while (true); // retry loop } // bucketId loop } // region loop } });
/** * * @param refTablePR * @return bucketID of the bucket which has no primary in the system or -1 if all are having primary */ private static int checkIfAllHostedBucketsHavePrimary(PartitionedRegion refTablePR) { RegionAdvisor ra = refTablePR.getRegionAdvisor(); Set<Integer> allHostedBuckets = ra.getBucketSet(); for( int bucketID:allHostedBuckets) { BucketAdvisor ba = ra.getBucketAdvisor(bucketID); if(!ba.hasPrimary()) { return bucketID; } } return -1; }
public InternalExecution withBucketFilter(Set<Integer> bucketIDs) { if (bucketIDs == null) { throw new FunctionException( LocalizedStrings.ExecuteRegionFunction_THE_INPUT_0_FOR_THE_EXECUTE_FUNCTION_REQUEST_IS_NULL .toLocalizedString("buckets as filter")); } else if (bucketIDs.isEmpty()) { throw new FunctionException("Bucket IDs list is empty"); } Set<Integer> actualBucketSet = pr.getRegionAdvisor().getBucketSet(); bucketIDs.retainAll(actualBucketSet); Iterator<Integer> it = bucketIDs.iterator(); while (it.hasNext()) { int bid = it.next(); if (!actualBucketSet.contains(bid)) { throw new FunctionException("Bucket " + bid + " does not exist."); } } if (bucketIDs.isEmpty()) { throw new FunctionException("No valid buckets to execute on"); } return new PartitionedRegionFunctionExecutor(this, bucketIDs, true); }
public void run2() throws CacheException { Cache cache = getCache(); PartitionedRegion pr = (PartitionedRegion) cache.getRegion(regionName); assertTrue(pr.isEmpty()); Integer k; // Create keys such that all buckets are created, Integer works well // assuming buckets are allocated on the mod of the key hashCode, x 2 just to be safe final int numEntries=pr.getTotalNumberOfBuckets()*2; for(int i=numEntries; i>=0; --i) { k = new Integer(i); pr.put(k, value); } assertEquals(numEntries+1,pr.size()); assertEquals(pr.getRegionAdvisor().getBucketSet().size(), pr.getTotalNumberOfBuckets()); } }
/** * * @param refTablePR * @return bucketID of the bucket which has no primary in the system or -1 if all are having primary */ private static int checkIfAllHostedBucketsHavePrimary(PartitionedRegion refTablePR) { RegionAdvisor ra = refTablePR.getRegionAdvisor(); Set<Integer> allHostedBuckets = ra.getBucketSet(); for( int bucketID:allHostedBuckets) { BucketAdvisor ba = ra.getBucketAdvisor(bucketID); if(!ba.hasPrimary()) { return bucketID; } } return -1; }
/** * * @param refTablePR * @return bucketID of the bucket which has no primary in the system or -1 if all are having primary */ private static int checkIfAllHostedBucketsHavePrimary(PartitionedRegion refTablePR) { RegionAdvisor ra = refTablePR.getRegionAdvisor(); Set<Integer> allHostedBuckets = ra.getBucketSet(); for( int bucketID:allHostedBuckets) { BucketAdvisor ba = ra.getBucketAdvisor(bucketID); if(!ba.hasPrimary()) { return bucketID; } } return -1; }
public Object call() throws Exception { int containsNode = 0; Cache cache = getCache(); PartitionedRegion pr = (PartitionedRegion)cache .getRegion(Region.SEPARATOR + PR_PREFIX + ri.intValue()); Iterator it = pr.getRegionAdvisor().getBucketSet().iterator(); Set nodeList; try { while (it.hasNext()) { Integer bucketId = (Integer) it.next(); nodeList = pr.getRegionAdvisor().getBucketOwners(bucketId.intValue()); if ((nodeList != null) && (nodeList.contains(pr.getMyId()))) { containsNode++; } else { getCache().getLogger().fine("I don't contain member " + pr.getMyId()); } } } catch (NoSuchElementException done) { } return new Integer(containsNode); } };
public void run2() { Cache cache = getCache(); Region root = cache .getRegion(PartitionedRegionHelper.PR_ROOT_REGION_NAME); assertNotNull("Root regions is null", root); for (int i = innerStartIndexForRegion; i < innerEndIndexForRegion; i++) { PartitionedRegion pr = (PartitionedRegion)cache .getRegion(Region.SEPARATOR + innerPrPrefix + i); assertTrue(pr.getRegionAdvisor().getBucketSet().size() > 0); // taking the buckets which are local to the node and not all the // available buckets. Set bucketIds = pr.getDataStore().localBucket2RegionMap.keySet(); Iterator buckteIdItr = bucketIds.iterator(); while (buckteIdItr.hasNext()) { Integer key = (Integer) buckteIdItr.next(); Region bucketRegion = root.getSubregion(pr.getBucketName(key.intValue())); assertNotNull("Bucket region cannot be null", bucketRegion); assertEquals(Scope.DISTRIBUTED_ACK, bucketRegion.getAttributes().getScope()); } // while } } };
public void run2() throws CacheException { Cache cache = getCache(); for (int i = innerStartIndexForRegion; i < innerEndIndexForRegion; i++) { PartitionedRegion pr = (PartitionedRegion)cache .getRegion(Region.SEPARATOR + innerPrPrefix + i); assertNotNull("This region is null " + pr.getName(), pr); Set bucketsWithStorage = pr.getRegionAdvisor().getBucketSet(); assertEquals(expectedNumBuckets, bucketsWithStorage.size()); } getLogWriter().info( "Total Number of buckets validated in partition region"); } };
.getRegion(Region.SEPARATOR + innerPrPrefix + i); assertTrue(pr.getRegionAdvisor().getBucketSet().size() > 0); assertTrue("Size of local region map should be > 0 for region: " + pr.getFullPath(), pr .getDataStore().localBucket2RegionMap.size() > 0);
public void run2() throws CacheException { Cache cache = getCache(); Region parentRegion = cache .getRegion(Region.SEPARATOR + parentRegionName); Region childRegion = null; childRegion = parentRegion.createSubregion(childRegionName, parentRegion .getAttributes()); PartitionedRegion pr = null; pr = (PartitionedRegion)cache.getRegion(Region.SEPARATOR + parentRegionName + Region.SEPARATOR + childRegionName + Region.SEPARATOR + PR_PREFIX); if (pr != null) fail("PR strill exists"); pr = (PartitionedRegion)childRegion.createSubregion(PR_PREFIX, createRegionAttributesForPR(1, 200)); // Assert.assertTrue(pr.getBucket2Node().size()==0, "B2N cleanup was not // done"); assertEquals(pr.getRegionAdvisor().getBucketSet().size(), 113); } };