org.apache.hadoop.hbase.zookeeper
Class ZKTable

java.lang.Object
  extended by org.apache.hadoop.hbase.zookeeper.ZKTable

@InterfaceAudience.Private
public class ZKTable
extends Object

Helper class for table state tracking for use by AssignmentManager. Reads, caches and sets state up in zookeeper. If multiple read/write clients, will make for confusion. Read-only clients other than AssignmentManager interested in learning table state can use the read-only utility methods in ZKTableReadOnly.

To save on trips to the zookeeper ensemble, internally we cache table state.


Constructor Summary
ZKTable(ZooKeeperWatcher zkw)
           
 
Method Summary
 boolean checkAndSetEnablingTable(String tableName)
          Sets the specified table as ENABLING in zookeeper atomically If the table is already in ENABLING state, no operation is performed
 boolean checkDisabledAndSetEnablingTable(String tableName)
          Sets the specified table as ENABLING in zookeeper atomically If the table isn't in DISABLED state, no operation is performed
 boolean checkEnabledAndSetDisablingTable(String tableName)
          Sets the specified table as DISABLING in zookeeper atomically If the table isn't in ENABLED state, no operation is performed
static Set<String> getDisabledOrDisablingTables(ZooKeeperWatcher zkw)
          Gets a list of all the tables set as disabled in zookeeper.
 Set<String> getDisabledTables()
          Gets a list of all the tables set as disabled in zookeeper.
static Set<String> getDisabledTables(ZooKeeperWatcher zkw)
          Gets a list of all the tables set as disabled in zookeeper.
static Set<String> getDisablingTables(ZooKeeperWatcher zkw)
          Gets a list of all the tables set as disabling in zookeeper.
static Set<String> getEnablingTables(ZooKeeperWatcher zkw)
          Gets a list of all the tables set as enabling in zookeeper.
 boolean isDisabledOrEnablingTable(String tableName)
           
 boolean isDisabledTable(String tableName)
           
 boolean isDisablingOrDisabledTable(String tableName)
           
 boolean isDisablingTable(String tableName)
           
 boolean isEnabledOrDisablingTable(String tableName)
           
 boolean isEnabledTable(String tableName)
           
 boolean isEnablingTable(String tableName)
           
 boolean isTablePresent(String tableName)
          check if table is present .
 void removeEnablingTable(String tableName)
          If the table is found in ENABLING state the inmemory state is removed.
 void setDeletedTable(String tableName)
          Deletes the table in zookeeper.
 void setDisabledTable(String tableName)
          Sets the specified table as DISABLED in zookeeper.
 void setDisablingTable(String tableName)
          Sets the specified table as DISABLING in zookeeper.
 void setEnabledTable(String tableName)
          Sets the ENABLED state in the cache and creates or force updates a node to ENABLED state for the specified table
 void setEnablingTable(String tableName)
          Sets the specified table as ENABLING in zookeeper.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ZKTable

public ZKTable(ZooKeeperWatcher zkw)
        throws org.apache.zookeeper.KeeperException
Throws:
org.apache.zookeeper.KeeperException
Method Detail

setDisabledTable

public void setDisabledTable(String tableName)
                      throws org.apache.zookeeper.KeeperException
Sets the specified table as DISABLED in zookeeper. Fails silently if the table is already disabled in zookeeper. Sets no watches.

Parameters:
tableName -
Throws:
org.apache.zookeeper.KeeperException - unexpected zookeeper exception

setDisablingTable

public void setDisablingTable(String tableName)
                       throws org.apache.zookeeper.KeeperException
Sets the specified table as DISABLING in zookeeper. Fails silently if the table is already disabled in zookeeper. Sets no watches.

Parameters:
tableName -
Throws:
org.apache.zookeeper.KeeperException - unexpected zookeeper exception

setEnablingTable

public void setEnablingTable(String tableName)
                      throws org.apache.zookeeper.KeeperException
Sets the specified table as ENABLING in zookeeper. Fails silently if the table is already disabled in zookeeper. Sets no watches.

Parameters:
tableName -
Throws:
org.apache.zookeeper.KeeperException - unexpected zookeeper exception

checkAndSetEnablingTable

public boolean checkAndSetEnablingTable(String tableName)
                                 throws org.apache.zookeeper.KeeperException
Sets the specified table as ENABLING in zookeeper atomically If the table is already in ENABLING state, no operation is performed

Parameters:
tableName -
Returns:
if the operation succeeds or not
Throws:
org.apache.zookeeper.KeeperException - unexpected zookeeper exception

checkDisabledAndSetEnablingTable

public boolean checkDisabledAndSetEnablingTable(String tableName)
                                         throws org.apache.zookeeper.KeeperException
Sets the specified table as ENABLING in zookeeper atomically If the table isn't in DISABLED state, no operation is performed

Parameters:
tableName -
Returns:
if the operation succeeds or not
Throws:
org.apache.zookeeper.KeeperException - unexpected zookeeper exception

checkEnabledAndSetDisablingTable

public boolean checkEnabledAndSetDisablingTable(String tableName)
                                         throws org.apache.zookeeper.KeeperException
Sets the specified table as DISABLING in zookeeper atomically If the table isn't in ENABLED state, no operation is performed

Parameters:
tableName -
Returns:
if the operation succeeds or not
Throws:
org.apache.zookeeper.KeeperException - unexpected zookeeper exception

isDisabledTable

public boolean isDisabledTable(String tableName)

isDisablingTable

public boolean isDisablingTable(String tableName)

isEnablingTable

public boolean isEnablingTable(String tableName)

isEnabledTable

public boolean isEnabledTable(String tableName)

isDisablingOrDisabledTable

public boolean isDisablingOrDisabledTable(String tableName)

isEnabledOrDisablingTable

public boolean isEnabledOrDisablingTable(String tableName)

isDisabledOrEnablingTable

public boolean isDisabledOrEnablingTable(String tableName)

setDeletedTable

public void setDeletedTable(String tableName)
                     throws org.apache.zookeeper.KeeperException
Deletes the table in zookeeper. Fails silently if the table is not currently disabled in zookeeper. Sets no watches.

Parameters:
tableName -
Throws:
org.apache.zookeeper.KeeperException - unexpected zookeeper exception

setEnabledTable

public void setEnabledTable(String tableName)
                     throws org.apache.zookeeper.KeeperException
Sets the ENABLED state in the cache and creates or force updates a node to ENABLED state for the specified table

Parameters:
tableName -
Throws:
org.apache.zookeeper.KeeperException

isTablePresent

public boolean isTablePresent(String tableName)
check if table is present .

Parameters:
tableName -
Returns:
true if the table is present

getDisabledTables

public Set<String> getDisabledTables()
Gets a list of all the tables set as disabled in zookeeper.

Returns:
Set of disabled tables, empty Set if none

getDisabledTables

public static Set<String> getDisabledTables(ZooKeeperWatcher zkw)
                                     throws org.apache.zookeeper.KeeperException
Gets a list of all the tables set as disabled in zookeeper.

Returns:
Set of disabled tables, empty Set if none
Throws:
org.apache.zookeeper.KeeperException

getDisablingTables

public static Set<String> getDisablingTables(ZooKeeperWatcher zkw)
                                      throws org.apache.zookeeper.KeeperException
Gets a list of all the tables set as disabling in zookeeper.

Returns:
Set of disabling tables, empty Set if none
Throws:
org.apache.zookeeper.KeeperException

getEnablingTables

public static Set<String> getEnablingTables(ZooKeeperWatcher zkw)
                                     throws org.apache.zookeeper.KeeperException
Gets a list of all the tables set as enabling in zookeeper.

Returns:
Set of enabling tables, empty Set if none
Throws:
org.apache.zookeeper.KeeperException

getDisabledOrDisablingTables

public static Set<String> getDisabledOrDisablingTables(ZooKeeperWatcher zkw)
                                                throws org.apache.zookeeper.KeeperException
Gets a list of all the tables set as disabled in zookeeper.

Returns:
Set of disabled tables, empty Set if none
Throws:
org.apache.zookeeper.KeeperException

removeEnablingTable

public void removeEnablingTable(String tableName)
If the table is found in ENABLING state the inmemory state is removed. This helps in cases where CreateTable is to be retried by the client incase of failures

Parameters:
tableName -


Copyright © 2013 The Apache Software Foundation. All Rights Reserved.