Index: src/java/org/apache/hadoop/hbase/HColumnDescriptor.java =================================================================== --- src/java/org/apache/hadoop/hbase/HColumnDescriptor.java (revision 684190) +++ src/java/org/apache/hadoop/hbase/HColumnDescriptor.java (working copy) @@ -22,6 +22,7 @@ import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; +import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -289,6 +290,13 @@ } /** + * @return All values. + */ + public Map getValues() { + return Collections.unmodifiableMap(values); + } + + /** * @param key The key. * @param value The value. */ Index: src/java/org/apache/hadoop/hbase/HTableDescriptor.java =================================================================== --- src/java/org/apache/hadoop/hbase/HTableDescriptor.java (revision 684190) +++ src/java/org/apache/hadoop/hbase/HTableDescriptor.java (working copy) @@ -97,6 +97,23 @@ } /** + * Private constructor used internally creating table descriptors for + * catalog tables: e.g. .META. and -ROOT-. + */ + protected HTableDescriptor(final byte [] name, HColumnDescriptor[] families, + Map values) { + this.name = name.clone(); + setMetaFlags(name); + for(HColumnDescriptor descriptor : families) { + this.families.put(Bytes.mapKey(descriptor.getName()), descriptor); + } + for (Map.Entry entry: + values.entrySet()) { + this.values.put(entry.getKey(), entry.getValue()); + } + } + + /** * Constructs an empty object. * For deserializing an HTableDescriptor instance only. * @see #HTableDescriptor(byte[]) @@ -253,6 +270,13 @@ } /** + * @return All values. + */ + public Map getValues() { + return Collections.unmodifiableMap(values); + } + + /** * @param key The key. * @param value The value. */ Index: src/java/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.java =================================================================== --- src/java/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.java (revision 684190) +++ src/java/org/apache/hadoop/hbase/client/UnmodifyableHTableDescriptor.java (working copy) @@ -36,7 +36,7 @@ * @param desc */ UnmodifyableHTableDescriptor(final HTableDescriptor desc) { - super(desc.getName(), getUnmodifyableFamilies(desc)); + super(desc.getName(), getUnmodifyableFamilies(desc), desc.getValues()); } /*