@Test public void testGetRSGroupInfoOfServer() throws Exception { AccessTestAction action = () -> { rsGroupAdminEndpoint.checkPermission("getRSGroupInfoOfServer"); return null; }; validateAdminPermissions(action); }
throw new HBaseIOException(msg); rsGroupInfoManager = cps.get(0).getGroupInfoManager(); if(rsGroupInfoManager == null){ String msg = "RSGroupInfoManager hasn't been initialized";
@Override public void preCloneSnapshot(ObserverContext<MasterCoprocessorEnvironment> ctx, SnapshotDescription snapshot, TableDescriptor desc) throws IOException { assignTableToGroup(desc); }
@Override public void preModifyNamespace(ObserverContext<MasterCoprocessorEnvironment> ctx, NamespaceDescriptor currentNsDesc, NamespaceDescriptor newNsDesc) throws IOException { preCreateNamespace(ctx, newNsDesc); }
@Override public void preCreateTableAction( final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableDescriptor desc, final RegionInfo[] regions) throws IOException { if (!desc.getTableName().isSystemTable() && !rsgroupHasServersOnline(desc)) { throw new HBaseIOException("No online servers in the rsgroup, which table " + desc.getTableName().getNameAsString() + " belongs to"); } }
public void checkPermission(String request) throws IOException { accessChecker.requirePermission(getActiveUser(), request, null, Action.ADMIN); }
@Override public void preModifyNamespace(ObserverContext<MasterCoprocessorEnvironment> ctx, NamespaceDescriptor ns) throws IOException { preCreateNamespace(ctx, ns); }
@Override public void preCreateTableAction( final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableDescriptor desc, final RegionInfo[] regions) throws IOException { if (!desc.getTableName().isSystemTable() && !rsgroupHasServersOnline(desc)) { throw new HBaseIOException("No online servers in the rsgroup, which table " + desc.getTableName().getNameAsString() + " belongs to"); } }
public void checkPermission(String request) throws IOException { accessChecker.requirePermission(getActiveUser(), request, Action.ADMIN); }
@Test public void testGetRSGroupInfoOfTable() throws Exception { AccessTestAction action = () -> { rsGroupAdminEndpoint.checkPermission("getRSGroupInfoOfTable"); return null; }; validateAdminPermissions(action); }
@Test public void testGroupInfoMultiAccessing() throws Exception { RSGroupInfoManager manager = rsGroupAdminEndpoint.getGroupInfoManager(); RSGroupInfo defaultGroup = manager.getRSGroup("default"); // getRSGroup updates default group's server list // this process must not affect other threads iterating the list Iterator<Address> it = defaultGroup.getServers().iterator(); manager.getRSGroup("default"); it.next(); }
@Override public void postCreateTable(ObserverContext<MasterCoprocessorEnvironment> ctx, TableDescriptor desc, RegionInfo[] regions) throws IOException { assignTableToGroup(desc); }
@Override public void preModifyNamespace(ObserverContext<MasterCoprocessorEnvironment> ctx, NamespaceDescriptor ns) throws IOException { preCreateNamespace(ctx, ns); }
@Override public void preCreateTableAction( final ObserverContext<MasterCoprocessorEnvironment> ctx, final TableDescriptor desc, final RegionInfo[] regions) throws IOException { if (!desc.getTableName().isSystemTable() && !rsgroupHasServersOnline(desc)) { throw new HBaseIOException("No online servers in the rsgroup, which table " + desc.getTableName().getNameAsString() + " belongs to"); } }
public void checkPermission(String request) throws IOException { accessChecker.requirePermission(getActiveUser(), request, Action.ADMIN); }
@Test public void testAddRSGroup() throws Exception { AccessTestAction action = () -> { rsGroupAdminEndpoint.checkPermission("addRSGroup"); return null; }; validateAdminPermissions(action); }
@Test public void testMisplacedRegions() throws Exception { final TableName tableName = TableName.valueOf(tablePrefix + "_testMisplacedRegions"); LOG.info("testMisplacedRegions"); final RSGroupInfo RSGroupInfo = addGroup("testMisplacedRegions", 1); TEST_UTIL.createMultiRegionTable(tableName, new byte[] { 'f' }, 15); TEST_UTIL.waitUntilAllRegionsAssigned(tableName); rsGroupAdminEndpoint.getGroupInfoManager().moveTables(Sets.newHashSet(tableName), RSGroupInfo.getName()); admin.balancerSwitch(true, true); assertTrue(rsGroupAdmin.balanceRSGroup(RSGroupInfo.getName())); admin.balancerSwitch(false, true); assertTrue(observer.preBalanceRSGroupCalled); assertTrue(observer.postBalanceRSGroupCalled); TEST_UTIL.waitFor(60000, new Predicate<Exception>() { @Override public boolean evaluate() throws Exception { ServerName serverName = ServerName.valueOf(RSGroupInfo.getServers().iterator().next().toString(), 1); return admin.getConnection().getAdmin().getRegions(serverName).size() == 15; } }); }
@Override public void preCloneSnapshot(ObserverContext<MasterCoprocessorEnvironment> ctx, SnapshotDescription snapshot, TableDescriptor desc) throws IOException { assignTableToGroup(desc); }
@Test public void testRemoveRSGroup() throws Exception { AccessTestAction action = () -> { rsGroupAdminEndpoint.checkPermission("removeRSGroup"); return null; }; validateAdminPermissions(action); }
.getMasterCoprocessorHost().findCoprocessor(RSGroupAdminEndpoint.class).getGroupInfoManager();