@Override public Object call() throws Exception { return affinity.mapPartitionsToNodes(Collections.singleton(0)); } }, IgniteException.class, EXPECTED_MSG);
/** {@inheritDoc} */ @Override public Map<Integer, ClusterNode> mapPartitionsToNodes(Collection<Integer> parts) { CacheOperationContext old = gate.enter(null); try { return delegate.mapPartitionsToNodes(parts); } finally { gate.leave(old); } }
/** {@inheritDoc} */ @Override public Map<Integer, ClusterNode> call() throws Exception { return affinity().mapPartitionsToNodes(parts); } }
/** * Check mapPartitionsToNodes methods. * * @param testAff Affinity1. * @param aff Affinity2. */ private void checkMapPartitionsToNodes(Affinity testAff, Affinity aff) { List<Integer> parts = new ArrayList<>(aff.partitions()); for (int i = 0; i < aff.partitions(); ++i) parts.add(i); checkEqualPartitionMaps(testAff.mapPartitionsToNodes(parts), aff.mapPartitionsToNodes(parts)); }
/** * Building a map that contains mapping of node ID to a list of partitions stored on the node. * * @param ignite Node. * @return Node to partitions map. */ private Map<UUID, List<Integer>> traderCachePartitions(Ignite ignite) { // Getting affinity for account cache. Affinity<?> affinity = ignite.affinity(TRADER_CACHE); // Building a list of all partitions numbers. List<Integer> partNumbers = new ArrayList<>(affinity.partitions()); for (int i = 0; i < affinity.partitions(); i++) partNumbers.add(i); // Getting partition to node mapping. Map<Integer, ClusterNode> partPerNodes = affinity.mapPartitionsToNodes(partNumbers); // Building node to partitions mapping. Map<UUID, List<Integer>> nodesToPart = new HashMap<>(); for (Map.Entry<Integer, ClusterNode> entry : partPerNodes.entrySet()) { List<Integer> nodeParts = nodesToPart.get(entry.getValue().id()); if (nodeParts == null) { nodeParts = new ArrayList<>(); nodesToPart.put(entry.getValue().id(), nodeParts); } nodeParts.add(entry.getKey()); } return nodesToPart; }
/** * JUnit. * * @throws Exception If failed. */ @Test public void testMapPartitionsToNodeCollection() throws Exception { Collection<Integer> parts = new LinkedList<>(); for (int p = 0; p < affinity().partitions(); p++) parts.add(p); Map<Integer, ClusterNode> map = grid(0).affinity(DEFAULT_CACHE_NAME).mapPartitionsToNodes(parts); AffinityFunctionContext ctx = new GridAffinityFunctionContextImpl(new ArrayList<>(grid(0).cluster().nodes()), null, null, new AffinityTopologyVersion(1), 1); AffinityFunction aff = affinity(); List<List<ClusterNode>> assignment = aff.assignPartitions(ctx); for (Map.Entry<Integer, ClusterNode> e : map.entrySet()) assert F.eqNodes(F.first(nodes(assignment, aff, e.getKey())), e.getValue()); }
/** * JUnit. * * @throws Exception If failed. */ @Test public void testMapPartitionsToNode() throws Exception { Map<Integer, ClusterNode> map = grid(0).affinity(DEFAULT_CACHE_NAME).mapPartitionsToNodes(F.asList(0, 1, 5, 19, 12)); AffinityFunctionContext ctx = new GridAffinityFunctionContextImpl(new ArrayList<>(grid(0).cluster().nodes()), null, null, new AffinityTopologyVersion(1), 1); AffinityFunction aff = affinity(); List<List<ClusterNode>> assignment = aff.assignPartitions(ctx); for (Map.Entry<Integer, ClusterNode> e : map.entrySet()) assert F.eqNodes(F.first(nodes(assignment, aff, e.getKey())), e.getValue()); }
/** * JUnit. * * @throws Exception If failed. */ @Test public void testMapPartitionsToNodeArray() throws Exception { Map<Integer, ClusterNode> map = grid(0).affinity(DEFAULT_CACHE_NAME).mapPartitionsToNodes(F.asList(0, 1, 5, 19, 12)); AffinityFunctionContext ctx = new GridAffinityFunctionContextImpl(new ArrayList<>(grid(0).cluster().nodes()), null, null, new AffinityTopologyVersion(1), 1); AffinityFunction aff = affinity(); List<List<ClusterNode>> assignment = aff.assignPartitions(ctx); for (Map.Entry<Integer, ClusterNode> e : map.entrySet()) assert F.eqNodes(F.first(nodes(assignment, aff, e.getKey())), e.getValue()); }
Collection<Integer> parts = PlatformUtils.readCollection(reader); Map<Integer, ClusterNode> map = aff.mapPartitionsToNodes(parts);
/** {@inheritDoc} */ @Override public Map<Integer, ClusterNode> mapPartitionsToNodes(Collection<Integer> parts) { CacheOperationContext old = gate.enter(null); try { return delegate.mapPartitionsToNodes(parts); } finally { gate.leave(old); } }
Collection<Integer> parts = PlatformUtils.readCollection(reader); Map<Integer, ClusterNode> map = aff.mapPartitionsToNodes(parts);