/** * Gets a list of all the tables set as disabled in zookeeper. * * @return Set of disabled tables, empty Set if none */ public Set<String> getDisabledTables() { Set<String> disabledTables = new HashSet<String>(); synchronized (this.cache) { Set<String> tables = this.cache.keySet(); for (String table : tables) { if (isDisabledTable(table)) disabledTables.add(table); } } return disabledTables; }
public boolean isDisablingOrDisabledTable(final String tableName) { synchronized (this.cache) { return isDisablingTable(tableName) || isDisabledTable(tableName); } }
public boolean isDisabledOrEnablingTable(final String tableName) { synchronized (this.cache) { return isDisabledTable(tableName) || isEnablingTable(tableName); } }
/** * Sets the specified table as ENABLING in zookeeper atomically If the table * isn't in DISABLED state, no operation is performed * * @param tableName * @return if the operation succeeds or not * @throws org.apache.zookeeper.KeeperException * unexpected zookeeper exception */ public boolean checkDisabledAndSetEnablingTable(final String tableName) throws KeeperException { synchronized (this.cache) { if (!isDisabledTable(tableName)) { return false; } setTableState(tableName, ZooKeeperProtos.Table.State.ENABLING); return true; } }
private boolean isDisabledorDisablingEntityGroupInEGIT( final EntityGroupInfo entityGroup) { String tableName = entityGroup.getTableNameAsString(); boolean disabled = this.zkTable.isDisabledTable(tableName); if (disabled || this.zkTable.isDisablingTable(tableName)) { LOG.info("Table " + tableName + (disabled ? " disabled;" : " disabling;") + " skipping assign of " + entityGroup.getEntityGroupNameAsString()); offlineDisabledEntityGroup(entityGroup); return true; } return false; }
@Override public void checkTableModifiable(byte[] tableName) throws IOException { String tableNameStr = Bytes.toString(tableName); if (!FMetaReader.tableExists(this.conf, tableNameStr)) { throw new TableNotFoundException(tableNameStr); } if (!getAssignmentManager().getZKTable().isDisabledTable(tableNameStr)) { throw new TableNotDisabledException(tableName); } }
success = this.assignmentManager.getZKTable().isDisabledTable(tableName); } else if (state.equalsIgnoreCase("DISABLING")) { success = this.assignmentManager.getZKTable().isDisablingTable(tableName);
public DeleteTableHandler(byte[] tableName, FMasterServices server, AssignmentManager assignmentManager) throws TableNotFoundException, IOException { super(server, EventType.C_M_DELETE_TABLE); this.tableName = tableName; this.tableNameStr = Bytes.toString(tableName); this.assignmentManager = assignmentManager; this.tableLockManager = server.getTableLockManager(); // Check if table exists if (!FMetaReader.tableExists(server.getConfiguration(), this.tableNameStr)) { throw new TableNotFoundException(tableNameStr); } if (!this.assignmentManager.getZKTable().isDisabledTable(tableNameStr)) { throw new TableNotDisabledException(tableNameStr); } ftable = FMetaReader.getTable(server.getConfiguration(), tableNameStr); if (ftable.isRootTable()) { List<FTable> childTables = FMetaReader.getChildTable( server.getConfiguration(), tableNameStr); if (childTables != null && childTables.size() > 0) { throw new ChildrenExistException(tableNameStr + " has child"); } } if (tableLockManager.lockTable(tableNameStr)) { LOG.info("lock table '" + tableNameStr + "' by DeleteTableHandler"); } else { throw new TableLockedException(tableNameStr + " has been locked. "); } }
boolean disabled = assignmentManager.getZKTable().isDisabledTable( egi.getTableNameAsString()); if (disabled) {
@Test public void testDisableAndEnableTable() throws IOException { final byte[] table = Bytes.toBytes("testDisableAndEnableTable"); TEST_UTIL.createTable(table); admin.disableTable(table); assertTrue("Table must be disabled.", TEST_UTIL.getWaspCluster().getMaster().getAssignmentManager() .getZKTable().isDisabledTable(Bytes.toString(table))); admin.enableTable(table); assertTrue("Table must be enabled.", TEST_UTIL.getWaspCluster().getMaster().getAssignmentManager() .getZKTable().isEnabledTable(Bytes.toString(table))); }
@Test public void testDisableAndEnableTables() throws IOException { final byte[] table1 = Bytes.toBytes("testDisableAndEnableTable1"); final byte[] table2 = Bytes.toBytes("testDisableAndEnableTable2"); TEST_UTIL.createTable(table1); TEST_UTIL.createTable(table2); admin.disableTables("testDisableAndEnableTable.*"); assertTrue("Table must be disabled.", TEST_UTIL.getWaspCluster().getMaster().getAssignmentManager() .getZKTable().isDisabledTable(Bytes.toString(table1))); assertTrue("Table must be disabled.", TEST_UTIL.getWaspCluster().getMaster().getAssignmentManager() .getZKTable().isDisabledTable(Bytes.toString(table2))); admin.enableTables("testDisableAndEnableTable.*"); assertTrue("Table must be enabled.", TEST_UTIL.getWaspCluster().getMaster().getAssignmentManager() .getZKTable().isEnabledTable(Bytes.toString(table1))); assertTrue("Table must be enabled.", TEST_UTIL.getWaspCluster().getMaster().getAssignmentManager() .getZKTable().isEnabledTable(Bytes.toString(table2))); }