/** * @param topic Listener's topic. * @param lsnr Listener to add. */ public void addMessageListener(GridTopic topic, GridMessageListener lsnr) { addMessageListener(lsnr, ((Object)topic).toString()); }
/** * @param cnt Number of nodes. */ public void createRemoteNodes(int cnt) { for (int i = 0; i < cnt; i++) addNode(new GridTestNode(UUID.randomUUID(), createMetrics(1, 1))); }
/** {@inheritDoc} */ @Override protected GridSpiTestContext initSpiContext() throws Exception { GridSpiTestContext spiCtx = super.initSpiContext(); spiCtx.createLocalNode(); spiCtx.createRemoteNodes(10); return spiCtx; }
List<ClusterNode> allNodes = (List<ClusterNode>)getSpiContext().nodes(); if (getSpiContext().localNode().id().equals(doomed)) doomed = orderedNodes.get(1); getSpiContext().removeNode(doomed); getSpiContext().addNode(newNode);
/** {@inheritDoc} */ @Override protected GridSpiTestContext initSpiContext() throws Exception { GridSpiTestContext ctx = super.initSpiContext(); GridTestNode loc = new GridTestNode(UUID.randomUUID()); addSpiDependency(loc); ctx.setLocalNode(loc); GridTestNode rmt = new GridTestNode(UUID.randomUUID()); ctx.addNode(rmt); addSpiDependency(rmt); return ctx; }
/** * @return SPI context. * @throws Exception If anything failed. */ protected GridSpiTestContext initSpiContext() throws Exception { GridSpiTestContext spiCtx = new GridSpiTestContext(); if (getTestData().getDiscoverySpi() != null) { spiCtx.setLocalNode(getTestData().getDiscoverySpi().getLocalNode()); for (ClusterNode node : getTestData().getDiscoverySpi().getRemoteNodes()) spiCtx.addNode(node); } else { GridTestNode node = new GridTestNode(UUID.randomUUID()); spiCtx.setLocalNode(node); if (getSpi() != null) { // Set up SPI class name and SPI version. Map<String, Serializable> attrs = initSpiClassAndVersionAttributes(getSpi()); for (Map.Entry<String, Serializable> entry: attrs.entrySet()) node.addAttribute(entry.getKey(), entry.getValue()); } } return spiCtx; }
/** */ public void createLocalNode() { setLocalNode(new GridTestNode(UUID.randomUUID(), createMetrics(1, 1))); }
/** * @param nodes Nodes to reset. * @param rmv Whether nodes that were not passed in should be removed or not. */ public void resetNodes(Collection<ClusterNode> nodes, boolean rmv) { for (ClusterNode node : nodes) { assert !node.equals(locNode); if (!rmtNodes.contains(node)) addNode(node); } if (rmv) { for (Iterator<ClusterNode> iter = rmtNodes.iterator(); iter.hasNext();) { ClusterNode node = iter.next(); if (!nodes.contains(node)) { iter.remove(); notifyListener(new DiscoveryEvent(locNode, "Node left", EVT_NODE_LEFT, node)); } } } }
/** {@inheritDoc} */ @Override public <K, V> V remove(String cacheName, K key) { assert cacheName != null; assert key != null; Map<K, CachedObject<V>> cache = getOrCreateCache(cacheName); CachedObject<V> prev = cache.remove(key); return prev != null ? prev.obj : null; }
/** {@inheritDoc} */ @Override protected void beforeTestsStarted() throws Exception { if (getSpiContext() != null) getSpiContext().addLocalEventListener(new DiscoveryListener()); pinger = new Pinger(); pinger.start(); }
/** {@inheritDoc} */ @Override protected GridSpiTestContext initSpiContext() throws Exception { GridSpiTestContext ctx = super.initSpiContext(); for (int i = 0; i < RMT_NODE_CNT; i++) { GridTestNode node = new GridTestNode(UUID.randomUUID()); node.setAttribute("load", (double)(i + 1)); ctx.addNode(node); } return ctx; }
/** {@inheritDoc} */ @Override public <K> boolean containsKey(String cacheName, K key) { assert cacheName != null; assert key != null; boolean res = false; try { res = get(cacheName, key) != null; } catch (IgniteException ignored) { } return res; }
/** {@inheritDoc} */ @Override protected void afterTest() throws Exception { super.afterTest(); getSpiContext().failNode(rmtNode); }
/** {@inheritDoc} */ @Override protected GridSpiTestContext initSpiContext() throws Exception { GridSpiTestContext ctx = super.initSpiContext(); ctx.setLocalNode(addSpiDependency(new GridTestNode(UUID.randomUUID()))); ctx.addNode(addSpiDependency(new GridTestNode(UUID.randomUUID()))); return ctx; }
/** {@inheritDoc} */ @Override public <K, V> V get(String cacheName, K key) { assert cacheName != null; assert key != null; V res = null; Map<K, CachedObject<V>> cache = getOrCreateCache(cacheName); CachedObject<V> obj = cache.get(key); if (obj != null) { if (obj.expire == 0 || obj.expire > System.currentTimeMillis()) res = obj.obj; else cache.remove(key); } return res; }
/** * @throws Exception If failed. */ @Test public void testDiscovery() throws Exception { GridLocalEventListener discoLsnr = new DiscoveryListener(); getSpiContext().addLocalEventListener(discoLsnr); Pinger pinger = null; if (isPingerStart()) { pinger = new Pinger(); pinger.start(); } JOptionPane.showMessageDialog(null, "Press OK to end test."); if (pinger != null) pinger.interrupt(); }
/** {@inheritDoc} */ @Override protected void beforeTest() throws Exception { super.beforeTest(); rmtNode = new GridTestNode(UUID.randomUUID()); addSpiDependency(rmtNode); rmtNode.setAttribute(U.spiAttribute(getSpi(), WAIT_JOBS_THRESHOLD_NODE_ATTR), getWaitJobsThreshold()); ClusterMetricsSnapshot metrics = new ClusterMetricsSnapshot(); metrics.setCurrentWaitingJobs(2); rmtNode.setMetrics(metrics); getSpiContext().addNode(rmtNode); getSpi().setStealingEnabled(true); }
/** {@inheritDoc} */ @Override protected GridSpiTestContext initSpiContext() throws Exception { GridSpiTestContext spiCtx = super.initSpiContext(); spiCtx.createLocalNode(); spiCtx.createRemoteNodes(10); return spiCtx; }
/** {@inheritDoc} */ @Override protected GridSpiTestContext initSpiContext() throws Exception { GridSpiTestContext ctx = super.initSpiContext(); GridTestNode locNode = new GridTestNode(UUID.randomUUID()); ctx.setLocalNode(locNode); rmtNode1 = new GridTestNode(UUID.randomUUID()); rmtNode2 = new GridTestNode(UUID.randomUUID()); addSpiDependency(locNode); addSpiDependency(rmtNode1); addSpiDependency(rmtNode2); ClusterMetricsSnapshot metrics = new ClusterMetricsSnapshot(); metrics.setCurrentWaitingJobs(2); rmtNode1.setMetrics(metrics); rmtNode2.setMetrics(metrics); ctx.addNode(rmtNode1); ctx.addNode(rmtNode2); return ctx; }