Class MetaTableAccessor

java.lang.Object
org.apache.hadoop.hbase.MetaTableAccessor

@Private public final class MetaTableAccessor extends Object
Read/write operations on hbase:meta region as well as assignment information stored to hbase:meta.

Some of the methods of this class take ZooKeeperWatcher as a param. The only reason for this is when this class is used on client-side (e.g. HBaseAdmin), we want to use short-lived connection (opened before each operation, closed right after), while when used on HM or HRS (like in AssignmentManager) we want permanent connection.

HBASE-10070 adds a replicaId to HRI, meaning more than one HRI can be defined for the same table range (table, startKey, endKey). For every range, there will be at least one HRI defined which is called default replica.

Meta layout

For each table there is single row named for the table with a 'table' column family. The column family currently has one column in it, the 'state' column:
 table:state => contains table state
 
For the catalog family, see the comments of CatalogFamilyFormat for more details.

TODO: Add rep_barrier for serial replication explanation. See SerialReplicationChecker.

The actual layout of meta should be encapsulated inside MetaTableAccessor methods, and should not leak out of it (through Result objects, etc)

See Also: