/** * Extract all the servers dead since a given time, and sort them. * @param ts the time, 0 for all * @return a sorted array list, by death time, lowest values first. */ public synchronized List<Pair<ServerName, Long>> copyDeadServersSince(long ts){ List<Pair<ServerName, Long>> res = new ArrayList<>(size()); for (Map.Entry<ServerName, Long> entry:deadServers.entrySet()){ if (entry.getValue() >= ts){ res.add(new Pair<>(entry.getKey(), entry.getValue())); } } Collections.sort(res, ServerNameDeathDateComparator); return res; }
@Override public int getNumDeadRegionServers() { ServerManager serverManager = this.master.getServerManager(); if (serverManager == null) { return 0; } return serverManager.getDeadServers().size(); }
@Test public void testClearDeadServer(){ DeadServer d = new DeadServer(); d.add(hostname123); d.add(hostname1234); Assert.assertEquals(2, d.size()); d.finish(hostname123); d.removeDeadServer(hostname123); Assert.assertEquals(1, d.size()); d.finish(hostname1234); d.removeDeadServer(hostname1234); Assert.assertTrue(d.isEmpty()); d.add(hostname1234); Assert.assertFalse(d.removeDeadServer(hostname123_2)); Assert.assertEquals(1, d.size()); d.finish(hostname1234); Assert.assertTrue(d.removeDeadServer(hostname1234)); Assert.assertTrue(d.isEmpty()); } }
/** * Extract all the servers dead since a given time, and sort them. * @param ts the time, 0 for all * @return a sorted array list, by death time, lowest values first. */ public synchronized List<Pair<ServerName, Long>> copyDeadServersSince(long ts){ List<Pair<ServerName, Long>> res = new ArrayList<Pair<ServerName, Long>>(size()); for (Map.Entry<ServerName, Long> entry:deadServers.entrySet()){ if (entry.getValue() >= ts){ res.add(new Pair<ServerName, Long>(entry.getKey(), entry.getValue())); } } Collections.sort(res, ServerNameDeathDateComparator); return res; }
@Override public int getNumDeadRegionServers() { ServerManager serverManager = this.master.getServerManager(); if (serverManager == null) { return 0; } return serverManager.getDeadServers().size(); }
@Test public void testClearDeadServer(){ DeadServer d = new DeadServer(); d.add(hostname123); d.add(hostname1234); Assert.assertEquals(2, d.size()); d.finish(hostname123); d.removeDeadServer(hostname123); Assert.assertEquals(1, d.size()); d.finish(hostname1234); d.removeDeadServer(hostname1234); Assert.assertTrue(d.isEmpty()); d.add(hostname1234); Assert.assertFalse(d.removeDeadServer(hostname123_2)); Assert.assertEquals(1, d.size()); d.finish(hostname1234); Assert.assertTrue(d.removeDeadServer(hostname1234)); Assert.assertTrue(d.isEmpty()); } }