/** * @param expOldestIgnite Expected oldest ignite. * @throws InterruptedException If failed. */ private void remoteListenForOldest(Ignite expOldestIgnite) throws InterruptedException { ClusterGroup grp = ignite1.cluster().forOldest(); assertEquals(1, grp.nodes().size()); assertEquals(expOldestIgnite.cluster().localNode().id(), grp.node().id()); ignite1.message(grp).remoteListen(null, new P2<UUID, Object>() { @Override public boolean apply(UUID nodeId, Object msg) { System.out.println("Received new message [msg=" + msg + ", senderNodeId=" + nodeId + ']'); MSG_CNT.incrementAndGet(); return true; } }); ignite1.message().send(null, MSG_1); Thread.sleep(3000); assertEquals(1, MSG_CNT.get()); } }
/** * @throws Exception If failed. */ @Test public void testOldest() throws Exception { ClusterGroup oldest = ignite.cluster().forOldest(); ClusterNode node = null; long minOrder = Long.MAX_VALUE; for (ClusterNode n : ignite.cluster().nodes()) { if (n.order() < minOrder) { node = n; minOrder = n.order(); } } assertEquals(oldest.node(), ignite.cluster().forNode(node).node()); ClusterGroup emptyGrp = ignite.cluster().forAttribute("nonExistent", "val"); assertEquals(0, emptyGrp.forOldest().nodes().size()); }
/** * @throws Exception If failed. */ @Test public void testNewNodes() throws Exception { ClusterGroup youngest = ignite.cluster().forYoungest(); ClusterGroup oldest = ignite.cluster().forOldest(); ClusterNode old = oldest.node(); ClusterNode last = youngest.node(); assertNotNull(last); try (Ignite g = startGrid(NODES_CNT)) { ClusterNode n = g.cluster().localNode(); ClusterNode latest = youngest.node(); assertNotNull(latest); assertEquals(latest.id(), n.id()); assertEquals(oldest.node(), old); } }
@Override public ClusterGroup getClusterGroup(Ignite ignite) { return ignite.cluster().forOldest(); } };
public boolean isMaster() { return ig.cluster().forOldest().node().equals(ig.cluster().localNode()); }