Repository: hbase Updated Branches: refs/heads/master fc68f23a4 -> 73d80bb41
HBASE-8486 remove references to -ROOT- table from table descriptors where allowed by compatibility rules. Signed-off-by: Sean Busbey <bus...@apache.org> Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/923508c9 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/923508c9 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/923508c9 Branch: refs/heads/master Commit: 923508c9de065b99b4721acfb582e5a476f48acd Parents: fc68f23 Author: Chia-Ping Tsai <chia7...@gmail.com> Authored: Fri Apr 28 12:35:47 2017 -0500 Committer: Sean Busbey <bus...@apache.org> Committed: Fri Apr 28 12:35:47 2017 -0500 ---------------------------------------------------------------------- .../apache/hadoop/hbase/HTableDescriptor.java | 13 ++-- .../hadoop/hbase/client/TableDescriptor.java | 11 +-- .../hbase/client/TableDescriptorBuilder.java | 80 +++++++++----------- 3 files changed, 43 insertions(+), 61 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/923508c9/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java index e3cf2ec..bf58d73 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java @@ -37,8 +37,8 @@ import org.apache.hadoop.hbase.util.Bytes; /** * HTableDescriptor contains the details about an HBase table such as the descriptors of - * all the column families, is the table a catalog table, <code> -ROOT- </code> or - * <code> hbase:meta </code>, if the table is read only, the maximum size of the memstore, + * all the column families, is the table a catalog table, <code> hbase:meta </code>, + * if the table is read only, the maximum size of the memstore, * when the region split should occur, coprocessors associated with it etc... * @deprecated As of release 2.0.0, this will be removed in HBase 3.0.0. * use {@link TableDescriptorBuilder} to build {@link HTableDescriptor}. @@ -54,7 +54,7 @@ public class HTableDescriptor implements TableDescriptor, Comparable<HTableDescr public static final String COMPACTION_ENABLED = TableDescriptorBuilder.COMPACTION_ENABLED; public static final String MEMSTORE_FLUSHSIZE = TableDescriptorBuilder.MEMSTORE_FLUSHSIZE; public static final String FLUSH_POLICY = TableDescriptorBuilder.FLUSH_POLICY; - public static final String IS_ROOT = TableDescriptorBuilder.IS_ROOT; + public static final String IS_ROOT = "IS_ROOT"; public static final String IS_META = TableDescriptorBuilder.IS_META; public static final String DURABILITY = TableDescriptorBuilder.DURABILITY; public static final String REGION_REPLICATION = TableDescriptorBuilder.REGION_REPLICATION; @@ -116,13 +116,12 @@ public class HTableDescriptor implements TableDescriptor, Comparable<HTableDescr } /** - * Check if the descriptor represents a <code> -ROOT- </code> region. + * This is vestigial API. It will be removed in 3.0. * - * @return true if this is a <code> -ROOT- </code> region + * @return always return the false */ - @Override public boolean isRootRegion() { - return delegatee.isRootRegion(); + return false; } /** http://git-wip-us.apache.org/repos/asf/hbase/blob/923508c9/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptor.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptor.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptor.java index 58a18ec..6f7e20f 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptor.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptor.java @@ -29,8 +29,8 @@ import org.apache.hadoop.hbase.util.Bytes; /** * TableDescriptor contains the details about an HBase table such as the descriptors of - * all the column families, is the table a catalog table, <code> -ROOT- </code> or - * <code> hbase:meta </code>, if the table is read only, the maximum size of the memstore, + * all the column families, is the table a catalog table, <code> hbase:meta </code>, + * if the table is read only, the maximum size of the memstore, * when the region split should occur, coprocessors associated with it etc... */ @InterfaceAudience.Public @@ -246,11 +246,4 @@ public interface TableDescriptor { */ boolean isReadOnly(); - /** - * Check if the descriptor represents a <code> -ROOT- </code> region. - * - * @return true if this is a <code> -ROOT- </code> region - */ - boolean isRootRegion(); - } http://git-wip-us.apache.org/repos/asf/hbase/blob/923508c9/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptorBuilder.java ---------------------------------------------------------------------- diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptorBuilder.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptorBuilder.java index a372ced..6c0fa65 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptorBuilder.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/TableDescriptorBuilder.java @@ -52,92 +52,96 @@ public class TableDescriptorBuilder { private static final Log LOG = LogFactory.getLog(TableDescriptorBuilder.class); + @InterfaceAudience.Private public static final String SPLIT_POLICY = "SPLIT_POLICY"; /** - * <em>INTERNAL</em> Used by HBase Shell interface to access this metadata + * Used by HBase Shell interface to access this metadata * attribute which denotes the maximum size of the store file after which a * region split occurs. */ + @InterfaceAudience.Private public static final String MAX_FILESIZE = "MAX_FILESIZE"; private static final Bytes MAX_FILESIZE_KEY = new Bytes(Bytes.toBytes(MAX_FILESIZE)); + @InterfaceAudience.Private public static final String OWNER = "OWNER"; + @InterfaceAudience.Private public static final Bytes OWNER_KEY = new Bytes(Bytes.toBytes(OWNER)); /** - * <em>INTERNAL</em> Used by rest interface to access this metadata attribute + * Used by rest interface to access this metadata attribute * which denotes if the table is Read Only. */ + @InterfaceAudience.Private public static final String READONLY = "READONLY"; private static final Bytes READONLY_KEY = new Bytes(Bytes.toBytes(READONLY)); /** - * <em>INTERNAL</em> Used by HBase Shell interface to access this metadata + * Used by HBase Shell interface to access this metadata * attribute which denotes if the table is compaction enabled. */ + @InterfaceAudience.Private public static final String COMPACTION_ENABLED = "COMPACTION_ENABLED"; private static final Bytes COMPACTION_ENABLED_KEY = new Bytes(Bytes.toBytes(COMPACTION_ENABLED)); /** - * <em>INTERNAL</em> Used by HBase Shell interface to access this metadata + * Used by HBase Shell interface to access this metadata * attribute which represents the maximum size of the memstore after which its * contents are flushed onto the disk. */ + @InterfaceAudience.Private public static final String MEMSTORE_FLUSHSIZE = "MEMSTORE_FLUSHSIZE"; private static final Bytes MEMSTORE_FLUSHSIZE_KEY = new Bytes(Bytes.toBytes(MEMSTORE_FLUSHSIZE)); + @InterfaceAudience.Private public static final String FLUSH_POLICY = "FLUSH_POLICY"; /** - * <em>INTERNAL</em> Used by rest interface to access this metadata attribute - * which denotes if the table is a -ROOT- region or not. - */ - public static final String IS_ROOT = "IS_ROOT"; - private static final Bytes IS_ROOT_KEY - = new Bytes(Bytes.toBytes(IS_ROOT)); - - /** - * <em>INTERNAL</em> Used by rest interface to access this metadata attribute - * which denotes if it is a catalog table, either <code> hbase:meta </code> or <code> -ROOT- - * </code>. + * Used by rest interface to access this metadata attribute + * which denotes if it is a catalog table, either <code> hbase:meta </code>. */ + @InterfaceAudience.Private public static final String IS_META = "IS_META"; private static final Bytes IS_META_KEY = new Bytes(Bytes.toBytes(IS_META)); /** - * <em>INTERNAL</em> {@link Durability} setting for the table. + * {@link Durability} setting for the table. */ + @InterfaceAudience.Private public static final String DURABILITY = "DURABILITY"; private static final Bytes DURABILITY_KEY = new Bytes(Bytes.toBytes("DURABILITY")); /** - * <em>INTERNAL</em> number of region replicas for the table. + * The number of region replicas for the table. */ + @InterfaceAudience.Private public static final String REGION_REPLICATION = "REGION_REPLICATION"; private static final Bytes REGION_REPLICATION_KEY = new Bytes(Bytes.toBytes(REGION_REPLICATION)); /** - * <em>INTERNAL</em> flag to indicate whether or not the memstore should be + * The flag to indicate whether or not the memstore should be * replicated for read-replicas (CONSISTENCY => TIMELINE). */ + @InterfaceAudience.Private public static final String REGION_MEMSTORE_REPLICATION = "REGION_MEMSTORE_REPLICATION"; private static final Bytes REGION_MEMSTORE_REPLICATION_KEY = new Bytes(Bytes.toBytes(REGION_MEMSTORE_REPLICATION)); /** - * <em>INTERNAL</em> Used by shell/rest interface to access this metadata + * Used by shell/rest interface to access this metadata * attribute which denotes if the table should be treated by region * normalizer. */ + @InterfaceAudience.Private public static final String NORMALIZATION_ENABLED = "NORMALIZATION_ENABLED"; private static final Bytes NORMALIZATION_ENABLED_KEY = new Bytes(Bytes.toBytes(NORMALIZATION_ENABLED)); @@ -148,6 +152,7 @@ public class TableDescriptorBuilder { */ private static final Durability DEFAULT_DURABLITY = Durability.USE_DEFAULT; + @InterfaceAudience.Private public static final String PRIORITY = "PRIORITY"; private static final Bytes PRIORITY_KEY = new Bytes(Bytes.toBytes(PRIORITY)); @@ -208,12 +213,14 @@ public class TableDescriptorBuilder { DEFAULT_VALUES.put(PRIORITY, String.valueOf(DEFAULT_PRIORITY)); DEFAULT_VALUES.keySet().stream() .map(s -> new Bytes(Bytes.toBytes(s))).forEach(RESERVED_KEYWORDS::add); - RESERVED_KEYWORDS.add(IS_ROOT_KEY); RESERVED_KEYWORDS.add(IS_META_KEY); } + @InterfaceAudience.Private public final static String NAMESPACE_FAMILY_INFO = "info"; + @InterfaceAudience.Private public final static byte[] NAMESPACE_FAMILY_INFO_BYTES = Bytes.toBytes(NAMESPACE_FAMILY_INFO); + @InterfaceAudience.Private public final static byte[] NAMESPACE_COL_DESC_BYTES = Bytes.toBytes("d"); /** @@ -422,12 +429,7 @@ public class TableDescriptorBuilder { } /** - * ModifyableTableDescriptor contains the details about an HBase table such as the - * descriptors of all the column families, is the table a catalog table, <code> -ROOT- - * </code> or <code> hbase:meta </code>, if the table is read only, the - * maximum size of the memstore, when the region split should occur, - * coprocessors associated with it etc... TODO: make this private after - * removing the HTableDescriptor + * TODO: make this private after removing the HTableDescriptor */ @InterfaceAudience.Private public static class ModifyableTableDescriptor @@ -437,7 +439,7 @@ public class TableDescriptorBuilder { /** * A map which holds the metadata information of the table. This metadata - * includes values like IS_ROOT, IS_META, SPLIT_POLICY, MAX_FILE_SIZE, + * includes values like IS_META, SPLIT_POLICY, MAX_FILE_SIZE, * READONLY, MEMSTORE_FLUSHSIZE etc... */ private final Map<Bytes, Bytes> values = new HashMap<>(); @@ -493,24 +495,12 @@ public class TableDescriptorBuilder { /* * Set meta flags on this table. - * IS_ROOT_KEY is set if its a -ROOT- table - * IS_META_KEY is set either if its a -ROOT- or a hbase:meta table + * IS_META_KEY is set if its a hbase:meta table * Called by constructors. * @param name */ private void setMetaFlags(final TableName name) { - values.put(IS_META_KEY, isRootRegion() - || name.equals(TableName.META_TABLE_NAME) ? TRUE : FALSE); - } - - /** - * Check if the descriptor represents a <code> -ROOT- </code> region. - * - * @return true if this is a <code> -ROOT- </code> region - */ - @Override - public boolean isRootRegion() { - return isSomething(IS_ROOT_KEY, false); + values.put(IS_META_KEY, name.equals(TableName.META_TABLE_NAME) ? TRUE : FALSE); } /** @@ -539,7 +529,7 @@ public class TableDescriptorBuilder { */ @Override public boolean isMetaTable() { - return isMetaRegion() && !isRootRegion(); + return isMetaRegion(); } /** @@ -1004,9 +994,9 @@ public class TableDescriptorBuilder { userKeys.add(entry.getKey()); continue; } - // only print out IS_ROOT/IS_META if true + // only print out IS_META if true String value = Bytes.toString(entry.getValue().get()); - if (key.equalsIgnoreCase(IS_ROOT) || key.equalsIgnoreCase(IS_META)) { + if (key.equalsIgnoreCase(IS_META)) { if (Boolean.valueOf(value) == false) { continue; } @@ -1560,7 +1550,7 @@ public class TableDescriptorBuilder { return Bytes.toString(getValue(OWNER_KEY)); } // Note that every table should have an owner (i.e. should have OWNER_KEY set). - // hbase:meta and -ROOT- should return system user as owner, not null (see + // hbase:meta should return system user as owner, not null (see // MasterFileSystem.java:bootstrap()). return null; }