/** {@inheritDoc} */ @Override public Set<String> attributeValues(String attrName) { Set<String> values = new TreeSet<>(); for (ClusterNode node : cluster.nodes()) { Object val = node.attribute(attrName); if (val != null) values.add(val.toString()); } return values; }
/** {@inheritDoc} */ @Override public Set<String> attributeNames() { Set<String> attrs = new TreeSet<>(); for (ClusterNode node : cluster.nodes()) attrs.addAll(node.attributes().keySet()); return attrs; }
/** * @param prj Grid nodes projection. * @return Whether given projection contains any local node. */ private boolean hasLocalNode(ClusterGroup prj) { for (ClusterNode n : prj.nodes()) { if (n.isLocal()) return true; } return false; }
/** */ private Collection<BaselineNode> baselineNodes() { Collection<ClusterNode> srvNodes = cluster().forServers().nodes(); ArrayList baselineNodes = new ArrayList(srvNodes.size()); for (ClusterNode clN : srvNodes) baselineNodes.add(clN); return baselineNodes; }
/** */ private Collection<BaselineNode> baselineNodes() { Collection<ClusterNode> srvNodes = ctx.cluster().get().forServers().nodes(); ArrayList baselineNodes = new ArrayList(srvNodes.size()); for (ClusterNode clN : srvNodes) baselineNodes.add(clN); return baselineNodes; }
/** * Filter server nodes by consistent IDs. * * @param consistentIds Collection of consistent IDs to add. * @throws IllegalStateException In case of some consistent ID not found in nodes collection. */ private Collection<BaselineNode> filterServerNodesByConsId(List<Object> consistentIds) { return filterNodesByConsId(ctx.grid().cluster().forServers().nodes(), consistentIds); } }
/** * Test for projection on not existing node IDs. */ @Test public void testInvalidProjection() { Collection<UUID> ids = new HashSet<>(); ids.add(UUID.randomUUID()); ids.add(UUID.randomUUID()); ClusterGroup invalidPrj = prj.forNodeIds(ids); assertEquals(0, invalidPrj.nodes().size()); }
@Override public boolean apply() { ClusterGroup grp = ignite.cluster().forCacheNodes(DEFAULT_CACHE_NAME); return grp.nodes().size() == expNodes; } }, 5000);
@Override public boolean apply() { ClusterGroup grp = client.cluster().forCacheNodes(DEFAULT_CACHE_NAME); return grp.nodes().size() == expNodes; } }, 5000);
/** * @return {@link IgniteCompute} instance to communicate with remote node. */ public IgniteCompute remoteCompute() { if (locJvmGrid == null) return null; ClusterGroup grp = locJvmGrid.cluster().forNodeId(id); if (grp.nodes().isEmpty()) throw new IllegalStateException("Could not found node with id=" + id + "."); return locJvmGrid.compute(grp); }
/** * @throws Exception If failed. */ @Test public void testProjectionForWrongCacheName() throws Exception { ClusterGroup prj = ignite.cluster().forCacheNodes("wrong"); assert prj != null; assert prj.nodes().isEmpty(); }
/** * Client sends a message and client receives it. * * @param async Async message send flag. * @throws Exception If failed. */ private void clientServerMessage(boolean async) throws Exception { Ignite ignite = grid(CLIENT_NODE_IDX); ClusterGroup grp = ignite.cluster().forServers(); assert !grp.nodes().isEmpty(); registerListenerAndSendMessages(ignite, grp, async); }
/** {@inheritDoc} */ @Override public void allowOverwrite(boolean allow) { if (allow == allowOverwrite()) return; ClusterNode node = F.first(ctx.grid().cluster().forCacheNodes(cacheName).nodes()); if (node == null) throw new CacheException("Failed to get node for cache: " + cacheName); rcvr = allow ? DataStreamerCacheUpdaters.<K, V>individual() : ISOLATED_UPDATER; }
/** * @return Node UUID as string. */ String getUID() { String id = ""; Collection<ClusterNode> nodes = igniteInstance.cluster().forLocal().nodes(); for (ClusterNode node : nodes) { if (node.isLocal()) id = String.valueOf(node.id()); } return id; }
/** * @return Remote nodes IDs. */ protected Collection<UUID> remoteNodeIds() { return F.nodeIds(projection().forRemotes().nodes()); }
/** {@inheritDoc} */ @Override public void undeployTask(String taskName) { A.notNull(taskName, "taskName"); guard(); try { ctx.deploy().undeployTask(taskName, prj.node(ctx.localNodeId()) != null, prj.forRemotes().nodes()); } finally { unguard(); } }
@Override public boolean apply(final Ignite ignite) { Collection<ClusterNode> srvs = ignite.cluster().forServers().nodes(); if (srvs.size() < serverCount()) return false; for (ClusterNode node : srvs) { int[] primaries = ignite.affinity(CACHE_NAME).primaryPartitions(node); if (primaries == null || primaries.length == 0) return false; } return true; } };
/** * @throws Exception If fail. */ private void orderedMessage() throws Exception { Ignite ignite = grid(SERVER_NODE_IDX); ClusterGroup grp = gridCount() > 1 ? ignite.cluster().forRemotes() : ignite.cluster().forLocal(); assert !grp.nodes().isEmpty(); registerListenerAndSendOrderedMessages(ignite, grp); }
@Override public IgniteFuture<?> applyx(ClusterGroup prj) { Affinity<Object> aff = prj.ignite().affinity(DEFAULT_CACHE_NAME); ClusterNode node = F.first(prj.nodes()); return compute(prj).affinityRunAsync(DEFAULT_CACHE_NAME, keyForNode(aff, node), new TestRunnable()); } });
/** * @param cctx Cctx. * @return Remote partition. */ private IgniteBiTuple<Integer, UUID> remotePartition(final GridCacheContext cctx) { ClusterNode node = F.first(cctx.kernalContext().grid().cluster().forRemotes().nodes()); GridCacheAffinityManager affMgr = cctx.affinity(); AffinityTopologyVersion topVer = affMgr.affinityTopologyVersion(); Set<Integer> parts = affMgr.primaryPartitions(node.id(), topVer); return new IgniteBiTuple<>(F.first(parts), node.id()); }