/** * @param node Node to remove. */ public void removeMappedNode(ClusterNode node) { if (mappedDhtNodes.contains(node)) mappedDhtNodes = new ArrayList<>(F.view(mappedDhtNodes, F.notEqualTo(node))); if (mappedNearNodes != null && mappedNearNodes.contains(node)) mappedNearNodes = new ArrayList<>(F.view(mappedNearNodes, F.notEqualTo(node))); }
/** * @param nodes Nodes. * @return Backup nodes. */ public static Collection<ClusterNode> backups(Collection<ClusterNode> nodes) { if (nodes == null || nodes.size() <= 1) return Collections.emptyList(); return F.view(nodes, F.notEqualTo(F.first(nodes))); }
/** * @param part Partition. * @param topVer Topology version. * @return Backup nodes. */ private Collection<ClusterNode> backupsByPartition(int part, AffinityTopologyVersion topVer) { List<ClusterNode> nodes = nodesByPartition(part, topVer); assert !F.isEmpty(nodes); if (nodes.size() == 1) return Collections.emptyList(); return F.view(nodes, F.notEqualTo(nodes.get(0))); }
/** * @throws Exception If failed. */ @Test public void testCallAsyncErrorNoFailover() throws Exception { IgniteCompute comp = compute(grid(0).cluster().forPredicate(F.notEqualTo(grid(0).localNode()))); IgniteFuture<Integer> fut = comp.withNoFailover().callAsync(new ClosureTestCallableError()); try { fut.get(); assert false : "Exception should have been thrown."; } catch (IgniteException e) { info("Caught expected exception: " + e); } }
/** * @param node Node to remove. */ public void removeMappedNode(ClusterNode node) { if (mappedDhtNodes.contains(node)) mappedDhtNodes = new ArrayList<>(F.view(mappedDhtNodes, F.notEqualTo(node))); if (mappedNearNodes != null && mappedNearNodes.contains(node)) mappedNearNodes = new ArrayList<>(F.view(mappedNearNodes, F.notEqualTo(node))); }
/** * @param nodes Nodes. * @return Backup nodes. */ public static Collection<ClusterNode> backups(Collection<ClusterNode> nodes) { if (nodes == null || nodes.size() <= 1) return Collections.emptyList(); return F.view(nodes, F.notEqualTo(F.first(nodes))); }
/** * @param part Partition. * @param topVer Topology version. * @return Backup nodes. */ private Collection<ClusterNode> backupsByPartition(int part, AffinityTopologyVersion topVer) { List<ClusterNode> nodes = nodesByPartition(part, topVer); assert !F.isEmpty(nodes); if (nodes.size() == 1) return Collections.emptyList(); return F.view(nodes, F.notEqualTo(nodes.get(0))); }