use of com.hazelcast.internal.util.collection.PartitionIdSet in project hazelcast by hazelcast.
the class MapFetchIndexOperationTest method testMultipleRanges.
@Test
public void testMultipleRanges() throws ExecutionException, InterruptedException {
PartitionIdSet partitions = getLocalPartitions(instance);
IndexIterationPointer[] pointers = new IndexIterationPointer[2];
pointers[0] = IndexIterationPointer.create(30, true, 40, true, false, null);
pointers[1] = IndexIterationPointer.create(50, true, 60, true, false, null);
MapOperationProvider operationProvider = getOperationProvider(map);
MapOperation operation = operationProvider.createFetchIndexOperation(mapName, orderedIndexName, pointers, partitions, 5);
Address address = instance.getCluster().getLocalMember().getAddress();
OperationServiceImpl operationService = getOperationService(instance);
MapFetchIndexOperationResult result = operationService.createInvocationBuilder(MapService.SERVICE_NAME, operation, address).<MapFetchIndexOperationResult>invoke().get();
assertResultSorted(result, Arrays.asList(new Person("person2", 39, "Dep1"), new Person("person3", 60, "Dep1")));
}
use of com.hazelcast.internal.util.collection.PartitionIdSet in project hazelcast by hazelcast.
the class MapKeySetTest method whenSelectingPartitionSubset.
@Test
public void whenSelectingPartitionSubset() {
PartitionIdSet partitionSubset = new PartitionIdSet(4, asList(1, 3));
Set<String> matchingKeys = new HashSet<>();
for (int i = 0; i < 5; i++) {
String key = generateKeyForPartition(instance, i);
map.put(key, key);
if (partitionSubset.contains(i)) {
matchingKeys.add(key);
}
}
Set<String> result = ((MapProxyImpl<String, String>) map).keySet(Predicates.alwaysTrue(), partitionSubset);
assertEquals(matchingKeys, result);
}
use of com.hazelcast.internal.util.collection.PartitionIdSet in project hazelcast by hazelcast.
the class MapKeySetTest method when_selectingPartitionSubset_and_partitionPredicate.
@Test
public void when_selectingPartitionSubset_and_partitionPredicate() {
PartitionIdSet partitionSubset = new PartitionIdSet(4, asList(1, 3));
Set<String> matchingKeys = new HashSet<>();
String key1 = null;
for (int i = 0; i < 5; i++) {
String key = generateKeyForPartition(instance, i);
if (i == 1) {
key1 = key;
}
map.put(key, key);
if (partitionSubset.contains(i)) {
matchingKeys.add(key);
}
}
Set<String> result = ((MapProxyImpl<String, String>) map).keySet(partitionPredicate(key1, Predicates.alwaysTrue()), partitionSubset);
assertEquals(Collections.singleton(key1), result);
}
use of com.hazelcast.internal.util.collection.PartitionIdSet in project hazelcast by hazelcast.
the class MapFetchIndexOperationTest method getLocalPartitions.
private static PartitionIdSet getLocalPartitions(HazelcastInstance member) {
PartitionService partitionService = member.getPartitionService();
PartitionIdSet res = new PartitionIdSet(partitionService.getPartitions().size());
for (Partition partition : partitionService.getPartitions()) {
if (partition.getOwner().localMember()) {
res.add(partition.getPartitionId());
}
}
return res;
}
use of com.hazelcast.internal.util.collection.PartitionIdSet in project hazelcast by hazelcast.
the class MapProjectionTest method projection_3Nodes_objectValue_withPartitionSet.
@Test
public void projection_3Nodes_objectValue_withPartitionSet() {
IMap<String, Person> map = getMapWithNodeCount(3);
populateMapWithPersons(map);
PartitionIdSet partitionSubset = new PartitionIdSet(3, asList(0, 1));
Collection<Double> result = ((MapProxyImpl<String, Person>) map).project(new ObjectValueIncrementingProjection(), Predicates.alwaysTrue(), partitionSubset);
assertThat(result, containsInAnyOrder(2.0d, 5.0d));
}
Aggregations