@Override public RSGroupInfo getRSGroupInfo(String groupName) throws IOException { return wrapped.getRSGroupInfo(groupName); }
rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP).getTables(); assertFalse(DefaultTables.contains(tableNameA)); assertFalse(DefaultTables.contains(tableNameB)); Set<TableName> newGroupTables = rsGroupAdmin.getRSGroupInfo(newGroupName).getTables(); assertTrue(newGroupTables.contains(tableNameA)); assertTrue(newGroupTables.contains(tableNameB));
public RSGroupInfo addGroup(String groupName, int serverCount) throws IOException, InterruptedException { RSGroupInfo defaultInfo = rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP); rsGroupAdmin.addRSGroup(groupName); Set<Address> set = new HashSet<>(); for(Address server: defaultInfo.getServers()) { if(set.size() == serverCount) { break; } set.add(server); } rsGroupAdmin.moveServers(set, groupName); RSGroupInfo result = rsGroupAdmin.getRSGroupInfo(groupName); return result; }
.getLiveServerMetrics().keySet()) { if (!newGroup.containsServer(server.getAddress()) && !rsGroupAdmin.getRSGroupInfo("master").containsServer(server.getAddress())) { targetServer = server; break; rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP).getServers().size(); int oldDefaultGroupTableSize = rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP).getTables().size(); rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP).getServers().size()); Assert.assertEquals(oldDefaultGroupTableSize, rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP).getTables().size()); Assert.assertEquals(1, rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getServers().size()); Assert.assertEquals(0, rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getTables().size()); rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP).getServers(); assertFalse(defaultServers.contains(targetServer.getAddress())); Set<Address> newGroupServers = rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getServers(); assertTrue(newGroupServers.contains(targetServer.getAddress())); rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP).getTables(); assertFalse(defaultTables.contains(tableName)); Set<TableName> newGroupTables = rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getTables(); assertTrue(newGroupTables.contains(tableName));
@Test public void testGetRSGroupInfoCPHookCalled() throws Exception { rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP); assertTrue(observer.preGetRSGroupInfoCalled); assertTrue(observer.postGetRSGroupInfoCalled); }
Assert.assertEquals(1, rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getTables().size()); Assert.assertEquals(tableName, rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getTables().first()); Assert.assertEquals(0, rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getTables().size());
@Test public void testBasicStartUp() throws IOException { RSGroupInfo defaultInfo = rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP); assertEquals(4, defaultInfo.getServers().size()); // Assignment of root and meta regions. int count = master.getAssignmentManager().getRegionStates().getRegionAssignments().size(); // 2 meta, group assertEquals(2, count); }
assertNull(rsGroupAdmin.getRSGroupInfoOfTable(TableName.valueOf("nonexistent"))); assertNull(rsGroupAdmin.getRSGroupOfServer(Address.fromParts("bogus", 123))); assertNull(rsGroupAdmin.getRSGroupInfo("bogus"));
public void removeGroup(String groupName) throws IOException { RSGroupInfo groupInfo = rsGroupAdmin.getRSGroupInfo(groupName); rsGroupAdmin.moveTables(groupInfo.getTables(), RSGroupInfo.DEFAULT_GROUP); rsGroupAdmin.moveServers(groupInfo.getServers(), RSGroupInfo.DEFAULT_GROUP); rsGroupAdmin.removeRSGroup(groupName); }
RSGroupInfo fooGroup = rsGroupAdmin.getRSGroupInfo("foo"); assertEquals(0, fooGroup.getServers().size()); RSGroupInfo defaultGroup = rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP); fooGroup = rsGroupAdmin.getRSGroupInfo("foo"); LOG.info("moving servers " + fooGroup.getServers() + " to group default"); rsGroupAdmin.moveServers(fooGroup.getServers(), RSGroupInfo.DEFAULT_GROUP); fooGroup = rsGroupAdmin.getRSGroupInfo("foo"); assertEquals(0, fooGroup.getServers().size()); Assert.assertEquals(null, rsGroupAdmin.getRSGroupInfo(fooGroup.getName()));
rsGroupAdmin.addRSGroup("foo"); RSGroupInfo barGroup = rsGroupAdmin.getRSGroupInfo("bar"); RSGroupInfo fooGroup = rsGroupAdmin.getRSGroupInfo("foo"); assertEquals(3, barGroup.getServers().size()); assertEquals(0, fooGroup.getServers().size()); rsGroupAdmin.moveServers(barGroup.getServers(), fooGroup.getName()); barGroup = rsGroupAdmin.getRSGroupInfo("bar"); fooGroup = rsGroupAdmin.getRSGroupInfo("foo"); assertEquals(0, barGroup.getServers().size()); assertEquals(3, fooGroup.getServers().size()); fooGroup = rsGroupAdmin.getRSGroupInfo("foo"); assertEquals(0, fooGroup.getServers().size()); Assert.assertEquals(null, rsGroupAdmin.getRSGroupInfo(barGroup.getName())); LOG.info("Remove group " + fooGroup.getName()); rsGroupAdmin.removeRSGroup(fooGroup.getName()); Assert.assertEquals(null, rsGroupAdmin.getRSGroupInfo(fooGroup.getName()));
@Test public void testRegionServerMove() throws IOException, InterruptedException { int initNumGroups = rsGroupAdmin.listRSGroups().size(); RSGroupInfo appInfo = addGroup(getGroupName(name.getMethodName()), 1); RSGroupInfo adminInfo = addGroup(getGroupName(name.getMethodName()), 1); RSGroupInfo dInfo = rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP); Assert.assertEquals(initNumGroups + 2, rsGroupAdmin.listRSGroups().size()); assertEquals(1, adminInfo.getServers().size()); assertEquals(1, appInfo.getServers().size()); assertEquals(getNumServers() - 2, dInfo.getServers().size()); rsGroupAdmin.moveServers(appInfo.getServers(), RSGroupInfo.DEFAULT_GROUP); rsGroupAdmin.removeRSGroup(appInfo.getName()); rsGroupAdmin.moveServers(adminInfo.getServers(), RSGroupInfo.DEFAULT_GROUP); rsGroupAdmin.removeRSGroup(adminInfo.getName()); Assert.assertEquals(rsGroupAdmin.listRSGroups().size(), initNumGroups); }
assertEquals(0, notClearedServers.size()); Set<Address> newGroupServers = rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getServers(); assertFalse(newGroupServers.contains(targetServer.getAddress())); assertEquals(2, newGroupServers.size());
Set<Address> newGroupServers = rsGroupAdmin.getRSGroupInfo(newGroup.getName()).getServers(); assertFalse(newGroupServers.contains(targetServer.getAddress())); assertEquals(2, newGroupServers.size());
Set<Address> newServers = Sets.newHashSet(); newServers .add(rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP).getServers().iterator().next()); rsGroupAdmin.moveServers(newServers, appInfo.getName());
@Test public void testFailRemoveGroup() throws IOException, InterruptedException { int initNumGroups = rsGroupAdmin.listRSGroups().size(); addGroup("bar", 3); TEST_UTIL.createTable(tableName, Bytes.toBytes("f")); rsGroupAdmin.moveTables(Sets.newHashSet(tableName), "bar"); RSGroupInfo barGroup = rsGroupAdmin.getRSGroupInfo("bar"); // group is not empty therefore it should fail try { rsGroupAdmin.removeRSGroup(barGroup.getName()); fail("Expected remove group to fail"); } catch (IOException e) { } // group cannot lose all it's servers therefore it should fail try { rsGroupAdmin.moveServers(barGroup.getServers(), RSGroupInfo.DEFAULT_GROUP); fail("Expected move servers to fail"); } catch (IOException e) { } rsGroupAdmin.moveTables(barGroup.getTables(), RSGroupInfo.DEFAULT_GROUP); try { rsGroupAdmin.removeRSGroup(barGroup.getName()); fail("Expected move servers to fail"); } catch (IOException e) { } rsGroupAdmin.moveServers(barGroup.getServers(), RSGroupInfo.DEFAULT_GROUP); rsGroupAdmin.removeRSGroup(barGroup.getName()); Assert.assertEquals(initNumGroups, rsGroupAdmin.listRSGroups().size()); }
@Override public RSGroupInfo getRSGroupInfo(String groupName) throws IOException { return wrapped.getRSGroupInfo(groupName); }
protected RSGroupInfo addGroup(String groupName, int serverCount) throws IOException, InterruptedException { RSGroupInfo defaultInfo = rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP); assertTrue(defaultInfo != null); assertTrue(defaultInfo.getServers().size() >= serverCount); rsGroupAdmin.addRSGroup(groupName); Set<Address> set = new HashSet<>(); for(Address server: defaultInfo.getServers()) { if(set.size() == serverCount) { break; } set.add(server); } rsGroupAdmin.moveServers(set, groupName); RSGroupInfo result = rsGroupAdmin.getRSGroupInfo(groupName); assertTrue(result.getServers().size() >= serverCount); return result; }
@Test public void testBasicStartUp() throws IOException { RSGroupInfo defaultInfo = rsGroupAdmin.getRSGroupInfo(RSGroupInfo.DEFAULT_GROUP); assertEquals(4, defaultInfo.getServers().size()); // Assignment of root and meta regions. int count = master.getAssignmentManager().getRegionStates().getRegionAssignments().size(); //3 meta,namespace, group assertEquals(3, count); }
void removeGroup(String groupName) throws IOException { RSGroupInfo RSGroupInfo = rsGroupAdmin.getRSGroupInfo(groupName); rsGroupAdmin.moveTables(RSGroupInfo.getTables(), RSGroupInfo.DEFAULT_GROUP); rsGroupAdmin.moveServers(RSGroupInfo.getServers(), RSGroupInfo.DEFAULT_GROUP); rsGroupAdmin.removeRSGroup(groupName); }