You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by al...@apache.org on 2018/12/29 10:07:15 UTC

[1/9] hbase git commit: HBASE-21650 Add DDL operation and some other miscellaneous to thrift2

Repository: hbase
Updated Branches:
  refs/heads/branch-2 8add7915d -> 26700fb2c


http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableName.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableName.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableName.java
new file mode 100644
index 0000000..f2c0743
--- /dev/null
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableName.java
@@ -0,0 +1,512 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.hadoop.hbase.thrift2.generated;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+public class TTableName implements org.apache.thrift.TBase<TTableName, TTableName._Fields>, java.io.Serializable, Cloneable, Comparable<TTableName> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TTableName");
+
+  private static final org.apache.thrift.protocol.TField NS_FIELD_DESC = new org.apache.thrift.protocol.TField("ns", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField QUALIFIER_FIELD_DESC = new org.apache.thrift.protocol.TField("qualifier", org.apache.thrift.protocol.TType.STRING, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new TTableNameStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new TTableNameTupleSchemeFactory());
+  }
+
+  public ByteBuffer ns; // required
+  public ByteBuffer qualifier; // required
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    NS((short)1, "ns"),
+    QUALIFIER((short)2, "qualifier");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // NS
+          return NS;
+        case 2: // QUALIFIER
+          return QUALIFIER;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.NS, new org.apache.thrift.meta_data.FieldMetaData("ns", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING        , true)));
+    tmpMap.put(_Fields.QUALIFIER, new org.apache.thrift.meta_data.FieldMetaData("qualifier", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING        , true)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TTableName.class, metaDataMap);
+  }
+
+  public TTableName() {
+  }
+
+  public TTableName(
+    ByteBuffer ns,
+    ByteBuffer qualifier)
+  {
+    this();
+    this.ns = org.apache.thrift.TBaseHelper.copyBinary(ns);
+    this.qualifier = org.apache.thrift.TBaseHelper.copyBinary(qualifier);
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public TTableName(TTableName other) {
+    if (other.isSetNs()) {
+      this.ns = org.apache.thrift.TBaseHelper.copyBinary(other.ns);
+    }
+    if (other.isSetQualifier()) {
+      this.qualifier = org.apache.thrift.TBaseHelper.copyBinary(other.qualifier);
+    }
+  }
+
+  public TTableName deepCopy() {
+    return new TTableName(this);
+  }
+
+  @Override
+  public void clear() {
+    this.ns = null;
+    this.qualifier = null;
+  }
+
+  public byte[] getNs() {
+    setNs(org.apache.thrift.TBaseHelper.rightSize(ns));
+    return ns == null ? null : ns.array();
+  }
+
+  public ByteBuffer bufferForNs() {
+    return org.apache.thrift.TBaseHelper.copyBinary(ns);
+  }
+
+  public TTableName setNs(byte[] ns) {
+    this.ns = ns == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(ns, ns.length));
+    return this;
+  }
+
+  public TTableName setNs(ByteBuffer ns) {
+    this.ns = org.apache.thrift.TBaseHelper.copyBinary(ns);
+    return this;
+  }
+
+  public void unsetNs() {
+    this.ns = null;
+  }
+
+  /** Returns true if field ns is set (has been assigned a value) and false otherwise */
+  public boolean isSetNs() {
+    return this.ns != null;
+  }
+
+  public void setNsIsSet(boolean value) {
+    if (!value) {
+      this.ns = null;
+    }
+  }
+
+  public byte[] getQualifier() {
+    setQualifier(org.apache.thrift.TBaseHelper.rightSize(qualifier));
+    return qualifier == null ? null : qualifier.array();
+  }
+
+  public ByteBuffer bufferForQualifier() {
+    return org.apache.thrift.TBaseHelper.copyBinary(qualifier);
+  }
+
+  public TTableName setQualifier(byte[] qualifier) {
+    this.qualifier = qualifier == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(qualifier, qualifier.length));
+    return this;
+  }
+
+  public TTableName setQualifier(ByteBuffer qualifier) {
+    this.qualifier = org.apache.thrift.TBaseHelper.copyBinary(qualifier);
+    return this;
+  }
+
+  public void unsetQualifier() {
+    this.qualifier = null;
+  }
+
+  /** Returns true if field qualifier is set (has been assigned a value) and false otherwise */
+  public boolean isSetQualifier() {
+    return this.qualifier != null;
+  }
+
+  public void setQualifierIsSet(boolean value) {
+    if (!value) {
+      this.qualifier = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case NS:
+      if (value == null) {
+        unsetNs();
+      } else {
+        setNs((ByteBuffer)value);
+      }
+      break;
+
+    case QUALIFIER:
+      if (value == null) {
+        unsetQualifier();
+      } else {
+        setQualifier((ByteBuffer)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case NS:
+      return getNs();
+
+    case QUALIFIER:
+      return getQualifier();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case NS:
+      return isSetNs();
+    case QUALIFIER:
+      return isSetQualifier();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof TTableName)
+      return this.equals((TTableName)that);
+    return false;
+  }
+
+  public boolean equals(TTableName that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_ns = true && this.isSetNs();
+    boolean that_present_ns = true && that.isSetNs();
+    if (this_present_ns || that_present_ns) {
+      if (!(this_present_ns && that_present_ns))
+        return false;
+      if (!this.ns.equals(that.ns))
+        return false;
+    }
+
+    boolean this_present_qualifier = true && this.isSetQualifier();
+    boolean that_present_qualifier = true && that.isSetQualifier();
+    if (this_present_qualifier || that_present_qualifier) {
+      if (!(this_present_qualifier && that_present_qualifier))
+        return false;
+      if (!this.qualifier.equals(that.qualifier))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_ns = true && (isSetNs());
+    list.add(present_ns);
+    if (present_ns)
+      list.add(ns);
+
+    boolean present_qualifier = true && (isSetQualifier());
+    list.add(present_qualifier);
+    if (present_qualifier)
+      list.add(qualifier);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(TTableName other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetNs()).compareTo(other.isSetNs());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetNs()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ns, other.ns);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetQualifier()).compareTo(other.isSetQualifier());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetQualifier()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.qualifier, other.qualifier);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("TTableName(");
+    boolean first = true;
+
+    sb.append("ns:");
+    if (this.ns == null) {
+      sb.append("null");
+    } else {
+      org.apache.thrift.TBaseHelper.toString(this.ns, sb);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("qualifier:");
+    if (this.qualifier == null) {
+      sb.append("null");
+    } else {
+      org.apache.thrift.TBaseHelper.toString(this.qualifier, sb);
+    }
+    first = false;
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (ns == null) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'ns' was not present! Struct: " + toString());
+    }
+    if (qualifier == null) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'qualifier' was not present! Struct: " + toString());
+    }
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class TTableNameStandardSchemeFactory implements SchemeFactory {
+    public TTableNameStandardScheme getScheme() {
+      return new TTableNameStandardScheme();
+    }
+  }
+
+  private static class TTableNameStandardScheme extends StandardScheme<TTableName> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, TTableName struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // NS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.ns = iprot.readBinary();
+              struct.setNsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // QUALIFIER
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.qualifier = iprot.readBinary();
+              struct.setQualifierIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, TTableName struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.ns != null) {
+        oprot.writeFieldBegin(NS_FIELD_DESC);
+        oprot.writeBinary(struct.ns);
+        oprot.writeFieldEnd();
+      }
+      if (struct.qualifier != null) {
+        oprot.writeFieldBegin(QUALIFIER_FIELD_DESC);
+        oprot.writeBinary(struct.qualifier);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class TTableNameTupleSchemeFactory implements SchemeFactory {
+    public TTableNameTupleScheme getScheme() {
+      return new TTableNameTupleScheme();
+    }
+  }
+
+  private static class TTableNameTupleScheme extends TupleScheme<TTableName> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, TTableName struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeBinary(struct.ns);
+      oprot.writeBinary(struct.qualifier);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, TTableName struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.ns = iprot.readBinary();
+      struct.setNsIsSet(true);
+      struct.qualifier = iprot.readBinary();
+      struct.setQualifierIsSet(true);
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTimeRange.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTimeRange.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTimeRange.java
index 74c7255..1e1898c 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTimeRange.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTimeRange.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TTimeRange implements org.apache.thrift.TBase<TTimeRange, TTimeRange._Fields>, java.io.Serializable, Cloneable, Comparable<TTimeRange> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TTimeRange");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift b/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift
index 79196f4..6383329 100644
--- a/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift
+++ b/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift
@@ -48,7 +48,8 @@ struct TColumnValue {
   2: required binary qualifier,
   3: required binary value,
   4: optional i64 timestamp,
-  5: optional binary tags
+  5: optional binary tags,
+  6: optional byte type
 }
 
 /**
@@ -67,6 +68,7 @@ struct TResult {
   1: optional binary row,
   2: required list<TColumnValue> columnValues,
   3: optional bool stale = false
+  4: optional bool partial = false
 }
 
 /**
@@ -90,6 +92,7 @@ enum TDeleteType {
  */
 
 enum TDurability {
+  USE_DEFAULT = 0,
   SKIP_WAL = 1,
   ASYNC_WAL = 2,
   SYNC_WAL = 3,
@@ -139,6 +142,11 @@ struct TGet {
   8: optional TAuthorization authorizations
   9: optional TConsistency consistency
   10: optional i32 targetReplicaId
+  11: optional bool cacheBlocks
+  12: optional i32 storeLimit
+  13: optional i32 storeOffset
+  14: optional bool existence_only
+
 }
 
 /**
@@ -211,6 +219,7 @@ struct TIncrement {
   4: optional map<binary, binary> attributes,
   5: optional TDurability durability
   6: optional TCellVisibility cellVisibility
+  7: optional bool returnResults
 }
 
 /* 
@@ -222,6 +231,7 @@ struct TAppend {
   3: optional map<binary, binary> attributes,
   4: optional TDurability durability
   5: optional TCellVisibility cellVisibility
+  6: optional bool returnResults
 }
 
 enum TReadType {
@@ -258,8 +268,8 @@ struct TScan {
  * Atomic mutation for the specified row. It can be either Put or Delete.
  */
 union TMutation {
-  1: TPut put,
-  2: TDelete deleteSingle,
+  1: TPut put
+  2: TDelete deleteSingle
 }
 
 /**
@@ -305,6 +315,112 @@ enum TCompareOp {
   NO_OP = 6
 }
 
+enum TBloomFilterType {
+/**
+   * Bloomfilters disabled
+   */
+  NONE = 0,
+  /**
+   * Bloom enabled with Table row as Key
+   */
+  ROW = 1,
+  /**
+   * Bloom enabled with Table row &amp; column (family+qualifier) as Key
+   */
+  ROWCOL = 2,
+  /**
+   * Bloom enabled with Table row prefix as Key, specify the length of the prefix
+   */
+  ROWPREFIX_FIXED_LENGTH = 3,
+  /**
+   * Bloom enabled with Table row prefix as Key, specify the delimiter of the prefix
+   */
+  ROWPREFIX_DELIMITED = 4
+}
+
+enum TCompressionAlgorithm {
+  LZO = 0,
+  GZ = 1,
+  NONE = 2,
+  SNAPPY = 3,
+  LZ4 = 4,
+  BZIP2 = 5,
+  ZSTD = 6
+}
+
+enum TDataBlockEncoding {
+/** Disable data block encoding. */
+  NONE = 0,
+  // id 1 is reserved for the BITSET algorithm to be added later
+  PREFIX = 2,
+  DIFF  = 3,
+  FAST_DIFF = 4,
+  // id 5 is reserved for the COPY_KEY algorithm for benchmarking
+  // COPY_KEY(5, "org.apache.hadoop.hbase.io.encoding.CopyKeyDataBlockEncoder"),
+  // PREFIX_TREE(6, "org.apache.hadoop.hbase.codec.prefixtree.PrefixTreeCodec"),
+  ROW_INDEX_V1 = 7
+}
+
+enum TKeepDeletedCells {
+  /** Deleted Cells are not retained. */
+  FALSE = 0,
+  /**
+   * Deleted Cells are retained until they are removed by other means
+   * such TTL or VERSIONS.
+   * If no TTL is specified or no new versions of delete cells are
+   * written, they are retained forever.
+   */
+  TRUE = 1,
+  /**
+   * Deleted Cells are retained until the delete marker expires due to TTL.
+   * This is useful when TTL is combined with MIN_VERSIONS and one
+   * wants to keep a minimum number of versions around but at the same
+   * time remove deleted cells after the TTL.
+   */
+  TTL = 2
+}
+
+struct TTableName {
+  1: required binary ns
+  2: required binary qualifier
+}
+
+struct TColumnFamilyDescriptor {
+  1: required binary name
+  2: optional map<binary, binary> attributes
+  3: optional map<string, string> configuration
+  4: optional i32 blockSize
+  5: optional TBloomFilterType bloomnFilterType
+  6: optional TCompressionAlgorithm compressionType
+  7: optional i16 dfsReplication
+  8: optional TDataBlockEncoding dataBlockEncoding
+  9: optional TKeepDeletedCells keepDeletedCells
+  10: optional i32 maxVersions
+  11: optional i32 minVersions
+  12: optional i32 scope
+  13: optional i32 timeToLive
+  14: optional bool blockCacheEnabled
+  15: optional bool cacheBloomsOnWrite
+  16: optional bool cacheDataOnWrite
+  17: optional bool cacheIndexesOnWrite
+  18: optional bool compressTags
+  19: optional bool evictBlocksOnClose
+  20: optional bool inMemory
+
+}
+
+struct TTableDescriptor {
+ 1: required TTableName tableName
+ 2: optional list<TColumnFamilyDescriptor> columns
+ 3: optional map<binary, binary> attributes
+ 4: optional TDurability durability
+}
+
+struct TNamespaceDescriptor {
+1: required string name
+2: optional map<string, string> configuration
+}
+
 
 //
 // Exceptions
@@ -644,4 +760,111 @@ service THBaseService {
     /** row mutations to execute if the value matches */
     7: required TRowMutations rowMutations
   ) throws (1: TIOError io)
+
+  TTableDescriptor getTableDescriptor(
+  1: required TTableName table
+  ) throws (1: TIOError io)
+
+  list<TTableDescriptor> getTableDescriptors(
+    1: required list<TTableName> tables
+  ) throws (1: TIOError io)
+
+  bool tableExists(
+  1: TTableName tableName
+  ) throws (1: TIOError io)
+
+  list<TTableDescriptor> getTableDescriptorsByPattern(
+    1: required string regex
+    2: required bool includeSysTables
+  ) throws (1: TIOError io)
+
+  list<TTableDescriptor> getTableDescriptorsByNamespace(
+      1: required string name
+  ) throws (1: TIOError io)
+
+  list<TTableName> getTableNamesByPattern(
+    1: required string regex
+    2: required bool includeSysTables
+  ) throws (1: TIOError io)
+
+  list<TTableName> getTableNamesByNamespace(
+    1: required string name
+  ) throws (1: TIOError io)
+
+  void createTable(
+    1: required TTableDescriptor desc
+    2: required list<binary> splitKeys
+  ) throws (1: TIOError io)
+
+  void deleteTable(
+    1: required TTableName tableName
+  ) throws (1: TIOError io)
+
+  void truncateTable(
+    1: required TTableName tableName
+    2: required bool preserveSplits
+  ) throws (1: TIOError io)
+
+  void enableTable(
+    1: required TTableName tableName
+  ) throws (1: TIOError io)
+
+  void disableTable(
+    1: required TTableName tableName
+  ) throws (1: TIOError io)
+
+  bool isTableEnabled(
+    1: required TTableName tableName
+  ) throws (1: TIOError io)
+
+  bool isTableDisabled(
+    1: required TTableName tableName
+  ) throws (1: TIOError io)
+
+  bool isTableAvailable(
+    1: required TTableName tableName
+  ) throws (1: TIOError io)
+
+  bool isTableAvailableWithSplit(
+    1: required TTableName tableName
+    2: required list<binary> splitKeys
+  ) throws (1: TIOError io)
+
+  void addColumnFamily(
+    1: required TTableName tableName
+    2: required TColumnFamilyDescriptor column
+  ) throws (1: TIOError io)
+
+  void deleteColumnFamily(
+    1: required TTableName tableName
+    2: required binary column
+  ) throws (1: TIOError io)
+
+  void modifyColumnFamily(
+    1: required TTableName tableName
+    2: required TColumnFamilyDescriptor column
+  ) throws (1: TIOError io)
+
+  void modifyTable(
+    1: required TTableDescriptor desc
+  ) throws (1: TIOError io)
+
+  void createNamespace(
+    1: required TNamespaceDescriptor namespaceDesc
+  ) throws (1: TIOError io)
+
+  void modifyNamespace(
+    1: required TNamespaceDescriptor namespaceDesc
+  ) throws (1: TIOError io)
+
+  void deleteNamespace(
+    1: required string name
+  ) throws (1: TIOError io)
+
+  TNamespaceDescriptor getNamespaceDescriptor(
+    1: required string name
+  ) throws (1: TIOError io)
+
+  list<TNamespaceDescriptor> listNamespaceDescriptors(
+  ) throws (1: TIOError io)
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftHBaseServiceHandler.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftHBaseServiceHandler.java b/hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftHBaseServiceHandler.java
index 6da712f..fc12db7 100644
--- a/hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftHBaseServiceHandler.java
+++ b/hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftHBaseServiceHandler.java
@@ -60,6 +60,7 @@ import org.apache.hadoop.hbase.client.Increment;
 import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.client.Table;
+import org.apache.hadoop.hbase.client.TableDescriptor;
 import org.apache.hadoop.hbase.coprocessor.ObserverContext;
 import org.apache.hadoop.hbase.coprocessor.RegionCoprocessor;
 import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
@@ -73,10 +74,12 @@ import org.apache.hadoop.hbase.thrift.ErrorThrowingGetObserver;
 import org.apache.hadoop.hbase.thrift.ThriftMetrics;
 import org.apache.hadoop.hbase.thrift2.generated.TAppend;
 import org.apache.hadoop.hbase.thrift2.generated.TColumn;
+import org.apache.hadoop.hbase.thrift2.generated.TColumnFamilyDescriptor;
 import org.apache.hadoop.hbase.thrift2.generated.TColumnIncrement;
 import org.apache.hadoop.hbase.thrift2.generated.TColumnValue;
 import org.apache.hadoop.hbase.thrift2.generated.TCompareOp;
 import org.apache.hadoop.hbase.thrift2.generated.TConsistency;
+import org.apache.hadoop.hbase.thrift2.generated.TDataBlockEncoding;
 import org.apache.hadoop.hbase.thrift2.generated.TDelete;
 import org.apache.hadoop.hbase.thrift2.generated.TDeleteType;
 import org.apache.hadoop.hbase.thrift2.generated.TDurability;
@@ -86,11 +89,14 @@ import org.apache.hadoop.hbase.thrift2.generated.TIOError;
 import org.apache.hadoop.hbase.thrift2.generated.TIllegalArgument;
 import org.apache.hadoop.hbase.thrift2.generated.TIncrement;
 import org.apache.hadoop.hbase.thrift2.generated.TMutation;
+import org.apache.hadoop.hbase.thrift2.generated.TNamespaceDescriptor;
 import org.apache.hadoop.hbase.thrift2.generated.TPut;
 import org.apache.hadoop.hbase.thrift2.generated.TReadType;
 import org.apache.hadoop.hbase.thrift2.generated.TResult;
 import org.apache.hadoop.hbase.thrift2.generated.TRowMutations;
 import org.apache.hadoop.hbase.thrift2.generated.TScan;
+import org.apache.hadoop.hbase.thrift2.generated.TTableDescriptor;
+import org.apache.hadoop.hbase.thrift2.generated.TTableName;
 import org.apache.hadoop.hbase.thrift2.generated.TTimeRange;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.thrift.TException;
@@ -1588,6 +1594,96 @@ public class TestThriftHBaseServiceHandler {
     assertTrue(tResult.isSetStale());
   }
 
+  @Test
+  public void testDDLOpertions() throws Exception {
+    String namespace = "testDDLOpertionsNamespace";
+    String table = "testDDLOpertionsTable";
+    TTableName tTableName = new TTableName();
+    tTableName.setNs(Bytes.toBytes(namespace));
+    tTableName.setQualifier(Bytes.toBytes(table));
+    ThriftHBaseServiceHandler handler = createHandler();
+    //create name space
+    TNamespaceDescriptor namespaceDescriptor = new TNamespaceDescriptor();
+    namespaceDescriptor.setName(namespace);
+    namespaceDescriptor.putToConfiguration("key1", "value1");
+    namespaceDescriptor.putToConfiguration("key2", "value2");
+    handler.createNamespace(namespaceDescriptor);
+    //list namespace
+    List<TNamespaceDescriptor> namespaceDescriptors = handler.listNamespaceDescriptors();
+    // should have 3 namespace, default hbase and testDDLOpertionsNamespace
+    assertTrue(namespaceDescriptors.size() == 3);
+    //modify namesapce
+    namespaceDescriptor.putToConfiguration("kye3", "value3");
+    handler.modifyNamespace(namespaceDescriptor);
+    //get namespace
+    TNamespaceDescriptor namespaceDescriptorReturned = handler.getNamespaceDescriptor(namespace);
+    assertTrue(namespaceDescriptorReturned.getConfiguration().size() == 3);
+    //create table
+    TTableDescriptor tableDescriptor = new TTableDescriptor();
+    tableDescriptor.setTableName(tTableName);
+    TColumnFamilyDescriptor columnFamilyDescriptor1 = new TColumnFamilyDescriptor();
+    columnFamilyDescriptor1.setName(familyAname);
+    columnFamilyDescriptor1.setDataBlockEncoding(TDataBlockEncoding.DIFF);
+    tableDescriptor.addToColumns(columnFamilyDescriptor1);
+    List<ByteBuffer> splitKeys = new ArrayList<>();
+    splitKeys.add(ByteBuffer.wrap(Bytes.toBytes(5)));
+    handler.createTable(tableDescriptor, splitKeys);
+    //modify table
+    tableDescriptor.setDurability(TDurability.ASYNC_WAL);
+    handler.modifyTable(tableDescriptor);
+    //modify column family
+    columnFamilyDescriptor1.setInMemory(true);
+    handler.modifyColumnFamily(tTableName, columnFamilyDescriptor1);
+    //add column family
+    TColumnFamilyDescriptor columnFamilyDescriptor2 = new TColumnFamilyDescriptor();
+    columnFamilyDescriptor2.setName(familyBname);
+    columnFamilyDescriptor2.setDataBlockEncoding(TDataBlockEncoding.PREFIX);
+    handler.addColumnFamily(tTableName, columnFamilyDescriptor2);
+    //get table descriptor
+    TTableDescriptor tableDescriptorReturned = handler.getTableDescriptor(tTableName);
+    assertTrue(tableDescriptorReturned.getColumns().size() == 2);
+    assertTrue(tableDescriptorReturned.getDurability() ==  TDurability.ASYNC_WAL);
+    TColumnFamilyDescriptor columnFamilyDescriptor1Returned = tableDescriptorReturned.getColumns()
+        .stream().filter(desc -> Bytes.equals(desc.getName(), familyAname)).findFirst().get();
+    assertTrue(columnFamilyDescriptor1Returned.isInMemory() == true);
+    //delete column family
+    handler.deleteColumnFamily(tTableName, ByteBuffer.wrap(familyBname));
+    tableDescriptorReturned = handler.getTableDescriptor(tTableName);
+    assertTrue(tableDescriptorReturned.getColumns().size() == 1);
+    //disable table
+    handler.disableTable(tTableName);
+    assertTrue(handler.isTableDisabled(tTableName));
+    //enable table
+    handler.enableTable(tTableName);
+    assertTrue(handler.isTableEnabled(tTableName));
+    assertTrue(handler.isTableAvailable(tTableName));
+    //truncate table
+    handler.disableTable(tTableName);
+    handler.truncateTable(tTableName, true);
+    assertTrue(handler.isTableAvailable(tTableName));
+    //delete table
+    handler.disableTable(tTableName);
+    handler.deleteTable(tTableName);
+    assertFalse(handler.tableExists(tTableName));
+    //delete namespace
+    handler.deleteNamespace(namespace);
+    namespaceDescriptors = handler.listNamespaceDescriptors();
+    // should have 2 namespace, default and hbase
+    assertTrue(namespaceDescriptors.size() == 2);
+  }
+
+  @Test
+  public void testGetTableDescriptor() throws Exception {
+    ThriftHBaseServiceHandler handler = createHandler();
+    TTableDescriptor tableDescriptor = handler
+        .getTableDescriptor(ThriftUtilities.tableNameFromHBase(TableName.valueOf(tableAname)));
+    TableDescriptor table = ThriftUtilities.tableDescriptorFromThrift(tableDescriptor);
+    assertTrue(table.getTableName().equals(TableName.valueOf(tableAname)));
+    assertTrue(table.getColumnFamilies().length == 2);
+    assertTrue(table.getColumnFamily(familyAname).getMaxVersions() == 3);
+    assertTrue(table.getColumnFamily(familyBname).getMaxVersions() == 2);
+  }
+
   public static class DelayingRegionObserver implements RegionCoprocessor, RegionObserver {
     private static final Logger LOG = LoggerFactory.getLogger(DelayingRegionObserver.class);
     // sleep time in msec


[6/9] hbase git commit: HBASE-21650 Add DDL operation and some other miscellaneous to thrift2

Posted by al...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TBloomFilterType.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TBloomFilterType.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TBloomFilterType.java
new file mode 100644
index 0000000..601d6b4
--- /dev/null
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TBloomFilterType.java
@@ -0,0 +1,69 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.hadoop.hbase.thrift2.generated;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum TBloomFilterType implements org.apache.thrift.TEnum {
+  /**
+   * Bloomfilters disabled
+   */
+  NONE(0),
+  /**
+   * Bloom enabled with Table row as Key
+   */
+  ROW(1),
+  /**
+   * Bloom enabled with Table row &amp; column (family+qualifier) as Key
+   */
+  ROWCOL(2),
+  /**
+   * Bloom enabled with Table row prefix as Key, specify the length of the prefix
+   */
+  ROWPREFIX_FIXED_LENGTH(3),
+  /**
+   * Bloom enabled with Table row prefix as Key, specify the delimiter of the prefix
+   */
+  ROWPREFIX_DELIMITED(4);
+
+  private final int value;
+
+  private TBloomFilterType(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static TBloomFilterType findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return NONE;
+      case 1:
+        return ROW;
+      case 2:
+        return ROWCOL;
+      case 3:
+        return ROWPREFIX_FIXED_LENGTH;
+      case 4:
+        return ROWPREFIX_DELIMITED;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCellVisibility.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCellVisibility.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCellVisibility.java
index 7da4dda..464ac12 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCellVisibility.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCellVisibility.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TCellVisibility implements org.apache.thrift.TBase<TCellVisibility, TCellVisibility._Fields>, java.io.Serializable, Cloneable, Comparable<TCellVisibility> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TCellVisibility");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumn.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumn.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumn.java
index d0d336c..24a7846 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumn.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumn.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
  * in a HBase table by column family and optionally
  * a column qualifier and timestamp
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TColumn implements org.apache.thrift.TBase<TColumn, TColumn._Fields>, java.io.Serializable, Cloneable, Comparable<TColumn> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TColumn");
 


[8/9] hbase git commit: HBASE-21650 Add DDL operation and some other miscellaneous to thrift2 (ADDENDUM add some comments)

Posted by al...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableDescriptor.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableDescriptor.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableDescriptor.java
index 89a8a5e..8e53bdf 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableDescriptor.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableDescriptor.java
@@ -34,7 +34,11 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.client.TableDescriptor
+ */
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TTableDescriptor implements org.apache.thrift.TBase<TTableDescriptor, TTableDescriptor._Fields>, java.io.Serializable, Cloneable, Comparable<TTableDescriptor> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TTableDescriptor");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableName.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableName.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableName.java
index f2c0743..cec268a 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableName.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableName.java
@@ -34,7 +34,11 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.TableName
+ */
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TTableName implements org.apache.thrift.TBase<TTableName, TTableName._Fields>, java.io.Serializable, Cloneable, Comparable<TTableName> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TTableName");
 
@@ -47,12 +51,24 @@ public class TTableName implements org.apache.thrift.TBase<TTableName, TTableNam
     schemes.put(TupleScheme.class, new TTableNameTupleSchemeFactory());
   }
 
+  /**
+   * namespace name
+   */
   public ByteBuffer ns; // required
+  /**
+   * tablename
+   */
   public ByteBuffer qualifier; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    /**
+     * namespace name
+     */
     NS((short)1, "ns"),
+    /**
+     * tablename
+     */
     QUALIFIER((short)2, "qualifier");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -157,6 +173,9 @@ public class TTableName implements org.apache.thrift.TBase<TTableName, TTableNam
     this.qualifier = null;
   }
 
+  /**
+   * namespace name
+   */
   public byte[] getNs() {
     setNs(org.apache.thrift.TBaseHelper.rightSize(ns));
     return ns == null ? null : ns.array();
@@ -166,6 +185,9 @@ public class TTableName implements org.apache.thrift.TBase<TTableName, TTableNam
     return org.apache.thrift.TBaseHelper.copyBinary(ns);
   }
 
+  /**
+   * namespace name
+   */
   public TTableName setNs(byte[] ns) {
     this.ns = ns == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(ns, ns.length));
     return this;
@@ -191,6 +213,9 @@ public class TTableName implements org.apache.thrift.TBase<TTableName, TTableNam
     }
   }
 
+  /**
+   * tablename
+   */
   public byte[] getQualifier() {
     setQualifier(org.apache.thrift.TBaseHelper.rightSize(qualifier));
     return qualifier == null ? null : qualifier.array();
@@ -200,6 +225,9 @@ public class TTableName implements org.apache.thrift.TBase<TTableName, TTableNam
     return org.apache.thrift.TBaseHelper.copyBinary(qualifier);
   }
 
+  /**
+   * tablename
+   */
   public TTableName setQualifier(byte[] qualifier) {
     this.qualifier = qualifier == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(qualifier, qualifier.length));
     return this;

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTimeRange.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTimeRange.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTimeRange.java
index 1e1898c..8ab746c 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTimeRange.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTimeRange.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TTimeRange implements org.apache.thrift.TBase<TTimeRange, TTimeRange._Fields>, java.io.Serializable, Cloneable, Comparable<TTimeRange> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TTimeRange");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift b/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift
index 6383329..c1b94ef 100644
--- a/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift
+++ b/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift
@@ -315,6 +315,10 @@ enum TCompareOp {
   NO_OP = 6
 }
 
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.regionserver.BloomType
+ */
 enum TBloomFilterType {
 /**
    * Bloomfilters disabled
@@ -338,6 +342,10 @@ enum TBloomFilterType {
   ROWPREFIX_DELIMITED = 4
 }
 
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.io.compress.Algorithm
+ */
 enum TCompressionAlgorithm {
   LZO = 0,
   GZ = 1,
@@ -348,6 +356,10 @@ enum TCompressionAlgorithm {
   ZSTD = 6
 }
 
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.io.encoding.DataBlockEncoding
+ */
 enum TDataBlockEncoding {
 /** Disable data block encoding. */
   NONE = 0,
@@ -361,6 +373,10 @@ enum TDataBlockEncoding {
   ROW_INDEX_V1 = 7
 }
 
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.KeepDeletedCells
+ */
 enum TKeepDeletedCells {
   /** Deleted Cells are not retained. */
   FALSE = 0,
@@ -380,11 +396,21 @@ enum TKeepDeletedCells {
   TTL = 2
 }
 
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.TableName
+ */
 struct TTableName {
+  /** namespace name */
   1: required binary ns
+  /** tablename */
   2: required binary qualifier
 }
 
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.client.ColumnFamilyDescriptor
+ */
 struct TColumnFamilyDescriptor {
   1: required binary name
   2: optional map<binary, binary> attributes
@@ -409,6 +435,10 @@ struct TColumnFamilyDescriptor {
 
 }
 
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.client.TableDescriptor
+ */
 struct TTableDescriptor {
  1: required TTableName tableName
  2: optional list<TColumnFamilyDescriptor> columns
@@ -416,6 +446,10 @@ struct TTableDescriptor {
  4: optional TDurability durability
 }
 
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.NamespaceDescriptor
+ */
 struct TNamespaceDescriptor {
 1: required string name
 2: optional map<string, string> configuration
@@ -761,110 +795,238 @@ service THBaseService {
     7: required TRowMutations rowMutations
   ) throws (1: TIOError io)
 
+  /**
+  * Get a table descriptor.
+  * @return the TableDescriptor of the giving tablename
+  **/
   TTableDescriptor getTableDescriptor(
-  1: required TTableName table
+    /** the tablename of the table to get tableDescriptor*/
+    1: required TTableName table
   ) throws (1: TIOError io)
 
+  /**
+  * Get table descriptors of tables.
+  * @return the TableDescriptor of the giving tablename
+  **/
   list<TTableDescriptor> getTableDescriptors(
+    /** the tablename list of the tables to get tableDescriptor*/
     1: required list<TTableName> tables
   ) throws (1: TIOError io)
 
+  /**
+  *
+  * @return true if table exists already, false if not
+  **/
   bool tableExists(
-  1: TTableName tableName
+    /** the tablename of the tables to check*/
+    1: TTableName tableName
   ) throws (1: TIOError io)
 
+  /**
+  * Get table descriptors of tables that match the given pattern
+  * @return the tableDescriptors of the matching table
+  **/
   list<TTableDescriptor> getTableDescriptorsByPattern(
+    /** The regular expression to match against */
     1: required string regex
+    /** set to false if match only against userspace tables */
     2: required bool includeSysTables
   ) throws (1: TIOError io)
 
+  /**
+  * Get table descriptors of tables in the given namespace
+  * @return the tableDescriptors in the namespce
+  **/
   list<TTableDescriptor> getTableDescriptorsByNamespace(
-      1: required string name
+    /** The namesapce's name */
+    1: required string name
   ) throws (1: TIOError io)
 
+  /**
+  * Get table names of tables that match the given pattern
+  * @return the table names of the matching table
+  **/
   list<TTableName> getTableNamesByPattern(
+    /** The regular expression to match against */
     1: required string regex
+    /** set to false if match only against userspace tables */
     2: required bool includeSysTables
   ) throws (1: TIOError io)
 
+  /**
+  * Get table names of tables in the given namespace
+  * @return the table names of the matching table
+  **/
   list<TTableName> getTableNamesByNamespace(
+    /** The namesapce's name */
     1: required string name
   ) throws (1: TIOError io)
 
+  /**
+  * Creates a new table with an initial set of empty regions defined by the specified split keys.
+  * The total number of regions created will be the number of split keys plus one. Synchronous
+  * operation.
+  **/
   void createTable(
+    /** table descriptor for table */
     1: required TTableDescriptor desc
+    /** rray of split keys for the initial regions of the table */
     2: required list<binary> splitKeys
   ) throws (1: TIOError io)
 
+  /**
+  * Deletes a table. Synchronous operation.
+  **/
   void deleteTable(
+    /** the tablename to delete */
     1: required TTableName tableName
   ) throws (1: TIOError io)
 
+  /**
+  * Truncate a table. Synchronous operation.
+  **/
   void truncateTable(
+    /** the tablename to truncate */
     1: required TTableName tableName
+    /** whether to  preserve previous splits*/
     2: required bool preserveSplits
   ) throws (1: TIOError io)
 
+  /**
+  * Enalbe a table
+  **/
   void enableTable(
+    /** the tablename to enable */
     1: required TTableName tableName
   ) throws (1: TIOError io)
 
+  /**
+  * Disable a table
+  **/
   void disableTable(
+    /** the tablename to disable */
     1: required TTableName tableName
   ) throws (1: TIOError io)
 
+  /**
+  *
+  * @return true if table is enabled, false if not
+  **/
   bool isTableEnabled(
+    /** the tablename to check */
     1: required TTableName tableName
   ) throws (1: TIOError io)
 
+ /**
+  *
+  * @return true if table is disabled, false if not
+  **/
   bool isTableDisabled(
+    /** the tablename to check */
     1: required TTableName tableName
   ) throws (1: TIOError io)
 
+ /**
+  *
+  * @return true if table is available, false if not
+  **/
   bool isTableAvailable(
+    /** the tablename to check */
     1: required TTableName tableName
   ) throws (1: TIOError io)
 
+  /**
+   * Use this api to check if the table has been created with the specified number of splitkeys
+   * which was used while creating the given table. Note : If this api is used after a table's
+   * region gets splitted, the api may return false.
+   *
+   * @return true if table is available, false if not
+  **/
   bool isTableAvailableWithSplit(
+    /** the tablename to check */
     1: required TTableName tableName
+    /** keys to check if the table has been created with all split keys */
     2: required list<binary> splitKeys
   ) throws (1: TIOError io)
 
+  /**
+  * Add a column family to an existing table. Synchronous operation.
+  **/
   void addColumnFamily(
+    /** the tablename to add column family to */
     1: required TTableName tableName
+    /** column family descriptor of column family to be added */
     2: required TColumnFamilyDescriptor column
   ) throws (1: TIOError io)
 
+  /**
+  * Delete a column family from a table. Synchronous operation.
+  **/
   void deleteColumnFamily(
+    /** the tablename to delete column family from */
     1: required TTableName tableName
+    /** name of column family to be deleted */
     2: required binary column
   ) throws (1: TIOError io)
 
+  /**
+  * Modify an existing column family on a table. Synchronous operation.
+  **/
   void modifyColumnFamily(
+     /** the tablename to modify column family */
     1: required TTableName tableName
+    /** column family descriptor of column family to be modified */
     2: required TColumnFamilyDescriptor column
   ) throws (1: TIOError io)
 
+  /**
+  * Modify an existing table
+  **/
   void modifyTable(
+    /** the descriptor of the table to modify */
     1: required TTableDescriptor desc
   ) throws (1: TIOError io)
 
+  /**
+  * Create a new namespace. Blocks until namespace has been successfully created or an exception is
+  * thrown
+  **/
   void createNamespace(
+    /** descriptor which describes the new namespace */
     1: required TNamespaceDescriptor namespaceDesc
   ) throws (1: TIOError io)
 
+  /**
+  * Modify an existing namespace.  Blocks until namespace has been successfully modified or an
+  * exception is thrown
+  **/
   void modifyNamespace(
+    /** descriptor which describes the new namespace */
     1: required TNamespaceDescriptor namespaceDesc
   ) throws (1: TIOError io)
 
+  /**
+  * Delete an existing namespace. Only empty namespaces (no tables) can be removed.
+  * Blocks until namespace has been successfully deleted or an
+  * exception is thrown.
+  **/
   void deleteNamespace(
+    /** namespace name */
     1: required string name
   ) throws (1: TIOError io)
 
+  /**
+  *  Get a namespace descriptor by name.
+  *  @retrun the descriptor
+  **/
   TNamespaceDescriptor getNamespaceDescriptor(
+    /** name of namespace descriptor */
     1: required string name
   ) throws (1: TIOError io)
 
+  /**
+  * @return all namespaces
+  **/
   list<TNamespaceDescriptor> listNamespaceDescriptors(
   ) throws (1: TIOError io)
 }


[2/9] hbase git commit: HBASE-21650 Add DDL operation and some other miscellaneous to thrift2

Posted by al...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionInfo.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionInfo.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionInfo.java
index 129ab2e..8450f5b 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionInfo.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionInfo.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class THRegionInfo implements org.apache.thrift.TBase<THRegionInfo, THRegionInfo._Fields>, java.io.Serializable, Cloneable, Comparable<THRegionInfo> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("THRegionInfo");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionLocation.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionLocation.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionLocation.java
index 94b25ff..b1146e9 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionLocation.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionLocation.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class THRegionLocation implements org.apache.thrift.TBase<THRegionLocation, THRegionLocation._Fields>, java.io.Serializable, Cloneable, Comparable<THRegionLocation> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("THRegionLocation");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIOError.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIOError.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIOError.java
index 2e50d3d..9569c3f 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIOError.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIOError.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
  * to the HBase master or a HBase region server. Also used to return
  * more general HBase error conditions.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TIOError extends TException implements org.apache.thrift.TBase<TIOError, TIOError._Fields>, java.io.Serializable, Cloneable, Comparable<TIOError> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TIOError");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument.java
index 9387429..6734dec 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * A TIllegalArgument exception indicates an illegal or invalid
  * argument was passed into a procedure.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TIllegalArgument extends TException implements org.apache.thrift.TBase<TIllegalArgument, TIllegalArgument._Fields>, java.io.Serializable, Cloneable, Comparable<TIllegalArgument> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TIllegalArgument");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIncrement.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIncrement.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIncrement.java
index 8d62eb5..3663e61 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIncrement.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIncrement.java
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
  * by changing the durability. If you don't provide durability, it defaults to
  * column family's default setting for durability.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncrement._Fields>, java.io.Serializable, Cloneable, Comparable<TIncrement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TIncrement");
 
@@ -50,6 +50,7 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
   private static final org.apache.thrift.protocol.TField ATTRIBUTES_FIELD_DESC = new org.apache.thrift.protocol.TField("attributes", org.apache.thrift.protocol.TType.MAP, (short)4);
   private static final org.apache.thrift.protocol.TField DURABILITY_FIELD_DESC = new org.apache.thrift.protocol.TField("durability", org.apache.thrift.protocol.TType.I32, (short)5);
   private static final org.apache.thrift.protocol.TField CELL_VISIBILITY_FIELD_DESC = new org.apache.thrift.protocol.TField("cellVisibility", org.apache.thrift.protocol.TType.STRUCT, (short)6);
+  private static final org.apache.thrift.protocol.TField RETURN_RESULTS_FIELD_DESC = new org.apache.thrift.protocol.TField("returnResults", org.apache.thrift.protocol.TType.BOOL, (short)7);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -66,6 +67,7 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
    */
   public TDurability durability; // optional
   public TCellVisibility cellVisibility; // optional
+  public boolean returnResults; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -77,7 +79,8 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
      * @see TDurability
      */
     DURABILITY((short)5, "durability"),
-    CELL_VISIBILITY((short)6, "cellVisibility");
+    CELL_VISIBILITY((short)6, "cellVisibility"),
+    RETURN_RESULTS((short)7, "returnResults");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -102,6 +105,8 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
           return DURABILITY;
         case 6: // CELL_VISIBILITY
           return CELL_VISIBILITY;
+        case 7: // RETURN_RESULTS
+          return RETURN_RESULTS;
         default:
           return null;
       }
@@ -142,7 +147,9 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
   }
 
   // isset id assignments
-  private static final _Fields optionals[] = {_Fields.ATTRIBUTES,_Fields.DURABILITY,_Fields.CELL_VISIBILITY};
+  private static final int __RETURNRESULTS_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.ATTRIBUTES,_Fields.DURABILITY,_Fields.CELL_VISIBILITY,_Fields.RETURN_RESULTS};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -159,6 +166,8 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TDurability.class)));
     tmpMap.put(_Fields.CELL_VISIBILITY, new org.apache.thrift.meta_data.FieldMetaData("cellVisibility", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TCellVisibility.class)));
+    tmpMap.put(_Fields.RETURN_RESULTS, new org.apache.thrift.meta_data.FieldMetaData("returnResults", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TIncrement.class, metaDataMap);
   }
@@ -179,6 +188,7 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
    * Performs a deep copy on <i>other</i>.
    */
   public TIncrement(TIncrement other) {
+    __isset_bitfield = other.__isset_bitfield;
     if (other.isSetRow()) {
       this.row = org.apache.thrift.TBaseHelper.copyBinary(other.row);
     }
@@ -199,6 +209,7 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
     if (other.isSetCellVisibility()) {
       this.cellVisibility = new TCellVisibility(other.cellVisibility);
     }
+    this.returnResults = other.returnResults;
   }
 
   public TIncrement deepCopy() {
@@ -212,6 +223,8 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
     this.attributes = null;
     this.durability = null;
     this.cellVisibility = null;
+    setReturnResultsIsSet(false);
+    this.returnResults = false;
   }
 
   public byte[] getRow() {
@@ -378,6 +391,29 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
     }
   }
 
+  public boolean isReturnResults() {
+    return this.returnResults;
+  }
+
+  public TIncrement setReturnResults(boolean returnResults) {
+    this.returnResults = returnResults;
+    setReturnResultsIsSet(true);
+    return this;
+  }
+
+  public void unsetReturnResults() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __RETURNRESULTS_ISSET_ID);
+  }
+
+  /** Returns true if field returnResults is set (has been assigned a value) and false otherwise */
+  public boolean isSetReturnResults() {
+    return EncodingUtils.testBit(__isset_bitfield, __RETURNRESULTS_ISSET_ID);
+  }
+
+  public void setReturnResultsIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __RETURNRESULTS_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case ROW:
@@ -420,6 +456,14 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
       }
       break;
 
+    case RETURN_RESULTS:
+      if (value == null) {
+        unsetReturnResults();
+      } else {
+        setReturnResults((Boolean)value);
+      }
+      break;
+
     }
   }
 
@@ -440,6 +484,9 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
     case CELL_VISIBILITY:
       return getCellVisibility();
 
+    case RETURN_RESULTS:
+      return isReturnResults();
+
     }
     throw new IllegalStateException();
   }
@@ -461,6 +508,8 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
       return isSetDurability();
     case CELL_VISIBILITY:
       return isSetCellVisibility();
+    case RETURN_RESULTS:
+      return isSetReturnResults();
     }
     throw new IllegalStateException();
   }
@@ -523,6 +572,15 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
         return false;
     }
 
+    boolean this_present_returnResults = true && this.isSetReturnResults();
+    boolean that_present_returnResults = true && that.isSetReturnResults();
+    if (this_present_returnResults || that_present_returnResults) {
+      if (!(this_present_returnResults && that_present_returnResults))
+        return false;
+      if (this.returnResults != that.returnResults)
+        return false;
+    }
+
     return true;
   }
 
@@ -555,6 +613,11 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
     if (present_cellVisibility)
       list.add(cellVisibility);
 
+    boolean present_returnResults = true && (isSetReturnResults());
+    list.add(present_returnResults);
+    if (present_returnResults)
+      list.add(returnResults);
+
     return list.hashCode();
   }
 
@@ -616,6 +679,16 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetReturnResults()).compareTo(other.isSetReturnResults());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetReturnResults()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnResults, other.returnResults);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -681,6 +754,12 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
       }
       first = false;
     }
+    if (isSetReturnResults()) {
+      if (!first) sb.append(", ");
+      sb.append("returnResults:");
+      sb.append(this.returnResults);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -709,6 +788,8 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
 
   private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
     try {
+      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+      __isset_bitfield = 0;
       read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
     } catch (org.apache.thrift.TException te) {
       throw new java.io.IOException(te);
@@ -797,6 +878,14 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 7: // RETURN_RESULTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.returnResults = iprot.readBool();
+              struct.setReturnResultsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -858,6 +947,11 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
           oprot.writeFieldEnd();
         }
       }
+      if (struct.isSetReturnResults()) {
+        oprot.writeFieldBegin(RETURN_RESULTS_FIELD_DESC);
+        oprot.writeBool(struct.returnResults);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -893,7 +987,10 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
       if (struct.isSetCellVisibility()) {
         optionals.set(2);
       }
-      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetReturnResults()) {
+        optionals.set(3);
+      }
+      oprot.writeBitSet(optionals, 4);
       if (struct.isSetAttributes()) {
         {
           oprot.writeI32(struct.attributes.size());
@@ -910,6 +1007,9 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
       if (struct.isSetCellVisibility()) {
         struct.cellVisibility.write(oprot);
       }
+      if (struct.isSetReturnResults()) {
+        oprot.writeBool(struct.returnResults);
+      }
     }
 
     @Override
@@ -929,7 +1029,7 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
         }
       }
       struct.setColumnsIsSet(true);
-      BitSet incoming = iprot.readBitSet(3);
+      BitSet incoming = iprot.readBitSet(4);
       if (incoming.get(0)) {
         {
           org.apache.thrift.protocol.TMap _map84 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
@@ -954,6 +1054,10 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
         struct.cellVisibility.read(iprot);
         struct.setCellVisibilityIsSet(true);
       }
+      if (incoming.get(3)) {
+        struct.returnResults = iprot.readBool();
+        struct.setReturnResultsIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TKeepDeletedCells.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TKeepDeletedCells.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TKeepDeletedCells.java
new file mode 100644
index 0000000..4ce64e2
--- /dev/null
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TKeepDeletedCells.java
@@ -0,0 +1,63 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.hadoop.hbase.thrift2.generated;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum TKeepDeletedCells implements org.apache.thrift.TEnum {
+  /**
+   * Deleted Cells are not retained.
+   */
+  FALSE(0),
+  /**
+   * Deleted Cells are retained until they are removed by other means
+   * such TTL or VERSIONS.
+   * If no TTL is specified or no new versions of delete cells are
+   * written, they are retained forever.
+   */
+  TRUE(1),
+  /**
+   * Deleted Cells are retained until the delete marker expires due to TTL.
+   * This is useful when TTL is combined with MIN_VERSIONS and one
+   * wants to keep a minimum number of versions around but at the same
+   * time remove deleted cells after the TTL.
+   */
+  TTL(2);
+
+  private final int value;
+
+  private TKeepDeletedCells(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static TKeepDeletedCells findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return FALSE;
+      case 1:
+        return TRUE;
+      case 2:
+        return TTL;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TNamespaceDescriptor.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TNamespaceDescriptor.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TNamespaceDescriptor.java
new file mode 100644
index 0000000..72d4916
--- /dev/null
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TNamespaceDescriptor.java
@@ -0,0 +1,554 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.hadoop.hbase.thrift2.generated;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+public class TNamespaceDescriptor implements org.apache.thrift.TBase<TNamespaceDescriptor, TNamespaceDescriptor._Fields>, java.io.Serializable, Cloneable, Comparable<TNamespaceDescriptor> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TNamespaceDescriptor");
+
+  private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField CONFIGURATION_FIELD_DESC = new org.apache.thrift.protocol.TField("configuration", org.apache.thrift.protocol.TType.MAP, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new TNamespaceDescriptorStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new TNamespaceDescriptorTupleSchemeFactory());
+  }
+
+  public String name; // required
+  public Map<String,String> configuration; // optional
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    NAME((short)1, "name"),
+    CONFIGURATION((short)2, "configuration");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // NAME
+          return NAME;
+        case 2: // CONFIGURATION
+          return CONFIGURATION;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final _Fields optionals[] = {_Fields.CONFIGURATION};
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.CONFIGURATION, new org.apache.thrift.meta_data.FieldMetaData("configuration", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TNamespaceDescriptor.class, metaDataMap);
+  }
+
+  public TNamespaceDescriptor() {
+  }
+
+  public TNamespaceDescriptor(
+    String name)
+  {
+    this();
+    this.name = name;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public TNamespaceDescriptor(TNamespaceDescriptor other) {
+    if (other.isSetName()) {
+      this.name = other.name;
+    }
+    if (other.isSetConfiguration()) {
+      Map<String,String> __this__configuration = new HashMap<String,String>(other.configuration);
+      this.configuration = __this__configuration;
+    }
+  }
+
+  public TNamespaceDescriptor deepCopy() {
+    return new TNamespaceDescriptor(this);
+  }
+
+  @Override
+  public void clear() {
+    this.name = null;
+    this.configuration = null;
+  }
+
+  public String getName() {
+    return this.name;
+  }
+
+  public TNamespaceDescriptor setName(String name) {
+    this.name = name;
+    return this;
+  }
+
+  public void unsetName() {
+    this.name = null;
+  }
+
+  /** Returns true if field name is set (has been assigned a value) and false otherwise */
+  public boolean isSetName() {
+    return this.name != null;
+  }
+
+  public void setNameIsSet(boolean value) {
+    if (!value) {
+      this.name = null;
+    }
+  }
+
+  public int getConfigurationSize() {
+    return (this.configuration == null) ? 0 : this.configuration.size();
+  }
+
+  public void putToConfiguration(String key, String val) {
+    if (this.configuration == null) {
+      this.configuration = new HashMap<String,String>();
+    }
+    this.configuration.put(key, val);
+  }
+
+  public Map<String,String> getConfiguration() {
+    return this.configuration;
+  }
+
+  public TNamespaceDescriptor setConfiguration(Map<String,String> configuration) {
+    this.configuration = configuration;
+    return this;
+  }
+
+  public void unsetConfiguration() {
+    this.configuration = null;
+  }
+
+  /** Returns true if field configuration is set (has been assigned a value) and false otherwise */
+  public boolean isSetConfiguration() {
+    return this.configuration != null;
+  }
+
+  public void setConfigurationIsSet(boolean value) {
+    if (!value) {
+      this.configuration = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case NAME:
+      if (value == null) {
+        unsetName();
+      } else {
+        setName((String)value);
+      }
+      break;
+
+    case CONFIGURATION:
+      if (value == null) {
+        unsetConfiguration();
+      } else {
+        setConfiguration((Map<String,String>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case NAME:
+      return getName();
+
+    case CONFIGURATION:
+      return getConfiguration();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case NAME:
+      return isSetName();
+    case CONFIGURATION:
+      return isSetConfiguration();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof TNamespaceDescriptor)
+      return this.equals((TNamespaceDescriptor)that);
+    return false;
+  }
+
+  public boolean equals(TNamespaceDescriptor that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_name = true && this.isSetName();
+    boolean that_present_name = true && that.isSetName();
+    if (this_present_name || that_present_name) {
+      if (!(this_present_name && that_present_name))
+        return false;
+      if (!this.name.equals(that.name))
+        return false;
+    }
+
+    boolean this_present_configuration = true && this.isSetConfiguration();
+    boolean that_present_configuration = true && that.isSetConfiguration();
+    if (this_present_configuration || that_present_configuration) {
+      if (!(this_present_configuration && that_present_configuration))
+        return false;
+      if (!this.configuration.equals(that.configuration))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_name = true && (isSetName());
+    list.add(present_name);
+    if (present_name)
+      list.add(name);
+
+    boolean present_configuration = true && (isSetConfiguration());
+    list.add(present_configuration);
+    if (present_configuration)
+      list.add(configuration);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(TNamespaceDescriptor other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetConfiguration()).compareTo(other.isSetConfiguration());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetConfiguration()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.configuration, other.configuration);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("TNamespaceDescriptor(");
+    boolean first = true;
+
+    sb.append("name:");
+    if (this.name == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.name);
+    }
+    first = false;
+    if (isSetConfiguration()) {
+      if (!first) sb.append(", ");
+      sb.append("configuration:");
+      if (this.configuration == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.configuration);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (name == null) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' was not present! Struct: " + toString());
+    }
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class TNamespaceDescriptorStandardSchemeFactory implements SchemeFactory {
+    public TNamespaceDescriptorStandardScheme getScheme() {
+      return new TNamespaceDescriptorStandardScheme();
+    }
+  }
+
+  private static class TNamespaceDescriptorStandardScheme extends StandardScheme<TNamespaceDescriptor> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, TNamespaceDescriptor struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.name = iprot.readString();
+              struct.setNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // CONFIGURATION
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map180 = iprot.readMapBegin();
+                struct.configuration = new HashMap<String,String>(2*_map180.size);
+                String _key181;
+                String _val182;
+                for (int _i183 = 0; _i183 < _map180.size; ++_i183)
+                {
+                  _key181 = iprot.readString();
+                  _val182 = iprot.readString();
+                  struct.configuration.put(_key181, _val182);
+                }
+                iprot.readMapEnd();
+              }
+              struct.setConfigurationIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, TNamespaceDescriptor struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.name != null) {
+        oprot.writeFieldBegin(NAME_FIELD_DESC);
+        oprot.writeString(struct.name);
+        oprot.writeFieldEnd();
+      }
+      if (struct.configuration != null) {
+        if (struct.isSetConfiguration()) {
+          oprot.writeFieldBegin(CONFIGURATION_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.configuration.size()));
+            for (Map.Entry<String, String> _iter184 : struct.configuration.entrySet())
+            {
+              oprot.writeString(_iter184.getKey());
+              oprot.writeString(_iter184.getValue());
+            }
+            oprot.writeMapEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class TNamespaceDescriptorTupleSchemeFactory implements SchemeFactory {
+    public TNamespaceDescriptorTupleScheme getScheme() {
+      return new TNamespaceDescriptorTupleScheme();
+    }
+  }
+
+  private static class TNamespaceDescriptorTupleScheme extends TupleScheme<TNamespaceDescriptor> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, TNamespaceDescriptor struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.name);
+      BitSet optionals = new BitSet();
+      if (struct.isSetConfiguration()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetConfiguration()) {
+        {
+          oprot.writeI32(struct.configuration.size());
+          for (Map.Entry<String, String> _iter185 : struct.configuration.entrySet())
+          {
+            oprot.writeString(_iter185.getKey());
+            oprot.writeString(_iter185.getValue());
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, TNamespaceDescriptor struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.name = iprot.readString();
+      struct.setNameIsSet(true);
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        {
+          org.apache.thrift.protocol.TMap _map186 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.configuration = new HashMap<String,String>(2*_map186.size);
+          String _key187;
+          String _val188;
+          for (int _i189 = 0; _i189 < _map186.size; ++_i189)
+          {
+            _key187 = iprot.readString();
+            _val188 = iprot.readString();
+            struct.configuration.put(_key187, _val188);
+          }
+        }
+        struct.setConfigurationIsSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TPut.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TPut.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TPut.java
index 552e3d4..ad82c67 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TPut.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TPut.java
@@ -46,7 +46,7 @@ import org.slf4j.LoggerFactory;
  * by changing the durability. If you don't provide durability, it defaults to
  * column family's default setting for durability.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TPut implements org.apache.thrift.TBase<TPut, TPut._Fields>, java.io.Serializable, Cloneable, Comparable<TPut> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TPut");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TResult.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TResult.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TResult.java
index 317f9b5..c19cf89 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TResult.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TResult.java
@@ -37,13 +37,14 @@ import org.slf4j.LoggerFactory;
 /**
  * if no Result is found, row and columnValues will not be set.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-07-04")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields>, java.io.Serializable, Cloneable, Comparable<TResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TResult");
 
   private static final org.apache.thrift.protocol.TField ROW_FIELD_DESC = new org.apache.thrift.protocol.TField("row", org.apache.thrift.protocol.TType.STRING, (short)1);
   private static final org.apache.thrift.protocol.TField COLUMN_VALUES_FIELD_DESC = new org.apache.thrift.protocol.TField("columnValues", org.apache.thrift.protocol.TType.LIST, (short)2);
   private static final org.apache.thrift.protocol.TField STALE_FIELD_DESC = new org.apache.thrift.protocol.TField("stale", org.apache.thrift.protocol.TType.BOOL, (short)3);
+  private static final org.apache.thrift.protocol.TField PARTIAL_FIELD_DESC = new org.apache.thrift.protocol.TField("partial", org.apache.thrift.protocol.TType.BOOL, (short)4);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -54,12 +55,14 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
   public ByteBuffer row; // optional
   public List<TColumnValue> columnValues; // required
   public boolean stale; // optional
+  public boolean partial; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
     ROW((short)1, "row"),
     COLUMN_VALUES((short)2, "columnValues"),
-    STALE((short)3, "stale");
+    STALE((short)3, "stale"),
+    PARTIAL((short)4, "partial");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -80,6 +83,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
           return COLUMN_VALUES;
         case 3: // STALE
           return STALE;
+        case 4: // PARTIAL
+          return PARTIAL;
         default:
           return null;
       }
@@ -121,8 +126,9 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
 
   // isset id assignments
   private static final int __STALE_ISSET_ID = 0;
+  private static final int __PARTIAL_ISSET_ID = 1;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.ROW,_Fields.STALE};
+  private static final _Fields optionals[] = {_Fields.ROW,_Fields.STALE,_Fields.PARTIAL};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -133,6 +139,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
             new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TColumnValue.class))));
     tmpMap.put(_Fields.STALE, new org.apache.thrift.meta_data.FieldMetaData("stale", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.PARTIAL, new org.apache.thrift.meta_data.FieldMetaData("partial", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TResult.class, metaDataMap);
   }
@@ -140,6 +148,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
   public TResult() {
     this.stale = false;
 
+    this.partial = false;
+
   }
 
   public TResult(
@@ -165,6 +175,7 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       this.columnValues = __this__columnValues;
     }
     this.stale = other.stale;
+    this.partial = other.partial;
   }
 
   public TResult deepCopy() {
@@ -177,6 +188,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     this.columnValues = null;
     this.stale = false;
 
+    this.partial = false;
+
   }
 
   public byte[] getRow() {
@@ -275,6 +288,29 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __STALE_ISSET_ID, value);
   }
 
+  public boolean isPartial() {
+    return this.partial;
+  }
+
+  public TResult setPartial(boolean partial) {
+    this.partial = partial;
+    setPartialIsSet(true);
+    return this;
+  }
+
+  public void unsetPartial() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __PARTIAL_ISSET_ID);
+  }
+
+  /** Returns true if field partial is set (has been assigned a value) and false otherwise */
+  public boolean isSetPartial() {
+    return EncodingUtils.testBit(__isset_bitfield, __PARTIAL_ISSET_ID);
+  }
+
+  public void setPartialIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __PARTIAL_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case ROW:
@@ -301,6 +337,14 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       }
       break;
 
+    case PARTIAL:
+      if (value == null) {
+        unsetPartial();
+      } else {
+        setPartial((Boolean)value);
+      }
+      break;
+
     }
   }
 
@@ -315,6 +359,9 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     case STALE:
       return isStale();
 
+    case PARTIAL:
+      return isPartial();
+
     }
     throw new IllegalStateException();
   }
@@ -332,6 +379,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       return isSetColumnValues();
     case STALE:
       return isSetStale();
+    case PARTIAL:
+      return isSetPartial();
     }
     throw new IllegalStateException();
   }
@@ -376,6 +425,15 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         return false;
     }
 
+    boolean this_present_partial = true && this.isSetPartial();
+    boolean that_present_partial = true && that.isSetPartial();
+    if (this_present_partial || that_present_partial) {
+      if (!(this_present_partial && that_present_partial))
+        return false;
+      if (this.partial != that.partial)
+        return false;
+    }
+
     return true;
   }
 
@@ -398,6 +456,11 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     if (present_stale)
       list.add(stale);
 
+    boolean present_partial = true && (isSetPartial());
+    list.add(present_partial);
+    if (present_partial)
+      list.add(partial);
+
     return list.hashCode();
   }
 
@@ -439,6 +502,16 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetPartial()).compareTo(other.isSetPartial());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetPartial()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.partial, other.partial);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -482,6 +555,12 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       sb.append(this.stale);
       first = false;
     }
+    if (isSetPartial()) {
+      if (!first) sb.append(", ");
+      sb.append("partial:");
+      sb.append(this.partial);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -565,6 +644,14 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 4: // PARTIAL
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.partial = iprot.readBool();
+              struct.setPartialIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -604,6 +691,11 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         oprot.writeBool(struct.stale);
         oprot.writeFieldEnd();
       }
+      if (struct.isSetPartial()) {
+        oprot.writeFieldBegin(PARTIAL_FIELD_DESC);
+        oprot.writeBool(struct.partial);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -635,13 +727,19 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       if (struct.isSetStale()) {
         optionals.set(1);
       }
-      oprot.writeBitSet(optionals, 2);
+      if (struct.isSetPartial()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
       if (struct.isSetRow()) {
         oprot.writeBinary(struct.row);
       }
       if (struct.isSetStale()) {
         oprot.writeBool(struct.stale);
       }
+      if (struct.isSetPartial()) {
+        oprot.writeBool(struct.partial);
+      }
     }
 
     @Override
@@ -659,7 +757,7 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         }
       }
       struct.setColumnValuesIsSet(true);
-      BitSet incoming = iprot.readBitSet(2);
+      BitSet incoming = iprot.readBitSet(3);
       if (incoming.get(0)) {
         struct.row = iprot.readBinary();
         struct.setRowIsSet(true);
@@ -668,6 +766,10 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         struct.stale = iprot.readBool();
         struct.setStaleIsSet(true);
       }
+      if (incoming.get(2)) {
+        struct.partial = iprot.readBool();
+        struct.setPartialIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TRowMutations.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TRowMutations.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TRowMutations.java
index dfa06ff..a3ab58e 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TRowMutations.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TRowMutations.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * A TRowMutations object is used to apply a number of Mutations to a single row.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TRowMutations implements org.apache.thrift.TBase<TRowMutations, TRowMutations._Fields>, java.io.Serializable, Cloneable, Comparable<TRowMutations> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TRowMutations");
 
@@ -460,14 +460,14 @@ public class TRowMutations implements org.apache.thrift.TBase<TRowMutations, TRo
           case 2: // MUTATIONS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list124 = iprot.readListBegin();
-                struct.mutations = new ArrayList<TMutation>(_list124.size);
-                TMutation _elem125;
-                for (int _i126 = 0; _i126 < _list124.size; ++_i126)
+                org.apache.thrift.protocol.TList _list134 = iprot.readListBegin();
+                struct.mutations = new ArrayList<TMutation>(_list134.size);
+                TMutation _elem135;
+                for (int _i136 = 0; _i136 < _list134.size; ++_i136)
                 {
-                  _elem125 = new TMutation();
-                  _elem125.read(iprot);
-                  struct.mutations.add(_elem125);
+                  _elem135 = new TMutation();
+                  _elem135.read(iprot);
+                  struct.mutations.add(_elem135);
                 }
                 iprot.readListEnd();
               }
@@ -500,9 +500,9 @@ public class TRowMutations implements org.apache.thrift.TBase<TRowMutations, TRo
         oprot.writeFieldBegin(MUTATIONS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.mutations.size()));
-          for (TMutation _iter127 : struct.mutations)
+          for (TMutation _iter137 : struct.mutations)
           {
-            _iter127.write(oprot);
+            _iter137.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -528,9 +528,9 @@ public class TRowMutations implements org.apache.thrift.TBase<TRowMutations, TRo
       oprot.writeBinary(struct.row);
       {
         oprot.writeI32(struct.mutations.size());
-        for (TMutation _iter128 : struct.mutations)
+        for (TMutation _iter138 : struct.mutations)
         {
-          _iter128.write(oprot);
+          _iter138.write(oprot);
         }
       }
     }
@@ -541,14 +541,14 @@ public class TRowMutations implements org.apache.thrift.TBase<TRowMutations, TRo
       struct.row = iprot.readBinary();
       struct.setRowIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list129 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.mutations = new ArrayList<TMutation>(_list129.size);
-        TMutation _elem130;
-        for (int _i131 = 0; _i131 < _list129.size; ++_i131)
+        org.apache.thrift.protocol.TList _list139 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        struct.mutations = new ArrayList<TMutation>(_list139.size);
+        TMutation _elem140;
+        for (int _i141 = 0; _i141 < _list139.size; ++_i141)
         {
-          _elem130 = new TMutation();
-          _elem130.read(iprot);
-          struct.mutations.add(_elem130);
+          _elem140 = new TMutation();
+          _elem140.read(iprot);
+          struct.mutations.add(_elem140);
         }
       }
       struct.setMutationsIsSet(true);

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java
index b5ece00..ddcedb4 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * Any timestamps in the columns are ignored but the colFamTimeRangeMap included, use timeRange to select by timestamp.
  * Max versions defaults to 1.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-07-03")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, java.io.Serializable, Cloneable, Comparable<TScan> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TScan");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TServerName.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TServerName.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TServerName.java
index 27188e9..65f963d 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TServerName.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TServerName.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TServerName implements org.apache.thrift.TBase<TServerName, TServerName._Fields>, java.io.Serializable, Cloneable, Comparable<TServerName> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TServerName");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableDescriptor.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableDescriptor.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableDescriptor.java
new file mode 100644
index 0000000..89a8a5e
--- /dev/null
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TTableDescriptor.java
@@ -0,0 +1,843 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.hadoop.hbase.thrift2.generated;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+public class TTableDescriptor implements org.apache.thrift.TBase<TTableDescriptor, TTableDescriptor._Fields>, java.io.Serializable, Cloneable, Comparable<TTableDescriptor> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TTableDescriptor");
+
+  private static final org.apache.thrift.protocol.TField TABLE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("tableName", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+  private static final org.apache.thrift.protocol.TField COLUMNS_FIELD_DESC = new org.apache.thrift.protocol.TField("columns", org.apache.thrift.protocol.TType.LIST, (short)2);
+  private static final org.apache.thrift.protocol.TField ATTRIBUTES_FIELD_DESC = new org.apache.thrift.protocol.TField("attributes", org.apache.thrift.protocol.TType.MAP, (short)3);
+  private static final org.apache.thrift.protocol.TField DURABILITY_FIELD_DESC = new org.apache.thrift.protocol.TField("durability", org.apache.thrift.protocol.TType.I32, (short)4);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new TTableDescriptorStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new TTableDescriptorTupleSchemeFactory());
+  }
+
+  public TTableName tableName; // required
+  public List<TColumnFamilyDescriptor> columns; // optional
+  public Map<ByteBuffer,ByteBuffer> attributes; // optional
+  /**
+   * 
+   * @see TDurability
+   */
+  public TDurability durability; // optional
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    TABLE_NAME((short)1, "tableName"),
+    COLUMNS((short)2, "columns"),
+    ATTRIBUTES((short)3, "attributes"),
+    /**
+     * 
+     * @see TDurability
+     */
+    DURABILITY((short)4, "durability");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // TABLE_NAME
+          return TABLE_NAME;
+        case 2: // COLUMNS
+          return COLUMNS;
+        case 3: // ATTRIBUTES
+          return ATTRIBUTES;
+        case 4: // DURABILITY
+          return DURABILITY;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final _Fields optionals[] = {_Fields.COLUMNS,_Fields.ATTRIBUTES,_Fields.DURABILITY};
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.TABLE_NAME, new org.apache.thrift.meta_data.FieldMetaData("tableName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TTableName.class)));
+    tmpMap.put(_Fields.COLUMNS, new org.apache.thrift.meta_data.FieldMetaData("columns", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TColumnFamilyDescriptor.class))));
+    tmpMap.put(_Fields.ATTRIBUTES, new org.apache.thrift.meta_data.FieldMetaData("attributes", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING            , true), 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING            , true))));
+    tmpMap.put(_Fields.DURABILITY, new org.apache.thrift.meta_data.FieldMetaData("durability", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TDurability.class)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TTableDescriptor.class, metaDataMap);
+  }
+
+  public TTableDescriptor() {
+  }
+
+  public TTableDescriptor(
+    TTableName tableName)
+  {
+    this();
+    this.tableName = tableName;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public TTableDescriptor(TTableDescriptor other) {
+    if (other.isSetTableName()) {
+      this.tableName = new TTableName(other.tableName);
+    }
+    if (other.isSetColumns()) {
+      List<TColumnFamilyDescriptor> __this__columns = new ArrayList<TColumnFamilyDescriptor>(other.columns.size());
+      for (TColumnFamilyDescriptor other_element : other.columns) {
+        __this__columns.add(new TColumnFamilyDescriptor(other_element));
+      }
+      this.columns = __this__columns;
+    }
+    if (other.isSetAttributes()) {
+      Map<ByteBuffer,ByteBuffer> __this__attributes = new HashMap<ByteBuffer,ByteBuffer>(other.attributes);
+      this.attributes = __this__attributes;
+    }
+    if (other.isSetDurability()) {
+      this.durability = other.durability;
+    }
+  }
+
+  public TTableDescriptor deepCopy() {
+    return new TTableDescriptor(this);
+  }
+
+  @Override
+  public void clear() {
+    this.tableName = null;
+    this.columns = null;
+    this.attributes = null;
+    this.durability = null;
+  }
+
+  public TTableName getTableName() {
+    return this.tableName;
+  }
+
+  public TTableDescriptor setTableName(TTableName tableName) {
+    this.tableName = tableName;
+    return this;
+  }
+
+  public void unsetTableName() {
+    this.tableName = null;
+  }
+
+  /** Returns true if field tableName is set (has been assigned a value) and false otherwise */
+  public boolean isSetTableName() {
+    return this.tableName != null;
+  }
+
+  public void setTableNameIsSet(boolean value) {
+    if (!value) {
+      this.tableName = null;
+    }
+  }
+
+  public int getColumnsSize() {
+    return (this.columns == null) ? 0 : this.columns.size();
+  }
+
+  public java.util.Iterator<TColumnFamilyDescriptor> getColumnsIterator() {
+    return (this.columns == null) ? null : this.columns.iterator();
+  }
+
+  public void addToColumns(TColumnFamilyDescriptor elem) {
+    if (this.columns == null) {
+      this.columns = new ArrayList<TColumnFamilyDescriptor>();
+    }
+    this.columns.add(elem);
+  }
+
+  public List<TColumnFamilyDescriptor> getColumns() {
+    return this.columns;
+  }
+
+  public TTableDescriptor setColumns(List<TColumnFamilyDescriptor> columns) {
+    this.columns = columns;
+    return this;
+  }
+
+  public void unsetColumns() {
+    this.columns = null;
+  }
+
+  /** Returns true if field columns is set (has been assigned a value) and false otherwise */
+  public boolean isSetColumns() {
+    return this.columns != null;
+  }
+
+  public void setColumnsIsSet(boolean value) {
+    if (!value) {
+      this.columns = null;
+    }
+  }
+
+  public int getAttributesSize() {
+    return (this.attributes == null) ? 0 : this.attributes.size();
+  }
+
+  public void putToAttributes(ByteBuffer key, ByteBuffer val) {
+    if (this.attributes == null) {
+      this.attributes = new HashMap<ByteBuffer,ByteBuffer>();
+    }
+    this.attributes.put(key, val);
+  }
+
+  public Map<ByteBuffer,ByteBuffer> getAttributes() {
+    return this.attributes;
+  }
+
+  public TTableDescriptor setAttributes(Map<ByteBuffer,ByteBuffer> attributes) {
+    this.attributes = attributes;
+    return this;
+  }
+
+  public void unsetAttributes() {
+    this.attributes = null;
+  }
+
+  /** Returns true if field attributes is set (has been assigned a value) and false otherwise */
+  public boolean isSetAttributes() {
+    return this.attributes != null;
+  }
+
+  public void setAttributesIsSet(boolean value) {
+    if (!value) {
+      this.attributes = null;
+    }
+  }
+
+  /**
+   * 
+   * @see TDurability
+   */
+  public TDurability getDurability() {
+    return this.durability;
+  }
+
+  /**
+   * 
+   * @see TDurability
+   */
+  public TTableDescriptor setDurability(TDurability durability) {
+    this.durability = durability;
+    return this;
+  }
+
+  public void unsetDurability() {
+    this.durability = null;
+  }
+
+  /** Returns true if field durability is set (has been assigned a value) and false otherwise */
+  public boolean isSetDurability() {
+    return this.durability != null;
+  }
+
+  public void setDurabilityIsSet(boolean value) {
+    if (!value) {
+      this.durability = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case TABLE_NAME:
+      if (value == null) {
+        unsetTableName();
+      } else {
+        setTableName((TTableName)value);
+      }
+      break;
+
+    case COLUMNS:
+      if (value == null) {
+        unsetColumns();
+      } else {
+        setColumns((List<TColumnFamilyDescriptor>)value);
+      }
+      break;
+
+    case ATTRIBUTES:
+      if (value == null) {
+        unsetAttributes();
+      } else {
+        setAttributes((Map<ByteBuffer,ByteBuffer>)value);
+      }
+      break;
+
+    case DURABILITY:
+      if (value == null) {
+        unsetDurability();
+      } else {
+        setDurability((TDurability)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case TABLE_NAME:
+      return getTableName();
+
+    case COLUMNS:
+      return getColumns();
+
+    case ATTRIBUTES:
+      return getAttributes();
+
+    case DURABILITY:
+      return getDurability();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case TABLE_NAME:
+      return isSetTableName();
+    case COLUMNS:
+      return isSetColumns();
+    case ATTRIBUTES:
+      return isSetAttributes();
+    case DURABILITY:
+      return isSetDurability();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof TTableDescriptor)
+      return this.equals((TTableDescriptor)that);
+    return false;
+  }
+
+  public boolean equals(TTableDescriptor that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_tableName = true && this.isSetTableName();
+    boolean that_present_tableName = true && that.isSetTableName();
+    if (this_present_tableName || that_present_tableName) {
+      if (!(this_present_tableName && that_present_tableName))
+        return false;
+      if (!this.tableName.equals(that.tableName))
+        return false;
+    }
+
+    boolean this_present_columns = true && this.isSetColumns();
+    boolean that_present_columns = true && that.isSetColumns();
+    if (this_present_columns || that_present_columns) {
+      if (!(this_present_columns && that_present_columns))
+        return false;
+      if (!this.columns.equals(that.columns))
+        return false;
+    }
+
+    boolean this_present_attributes = true && this.isSetAttributes();
+    boolean that_present_attributes = true && that.isSetAttributes();
+    if (this_present_attributes || that_present_attributes) {
+      if (!(this_present_attributes && that_present_attributes))
+        return false;
+      if (!this.attributes.equals(that.attributes))
+        return false;
+    }
+
+    boolean this_present_durability = true && this.isSetDurability();
+    boolean that_present_durability = true && that.isSetDurability();
+    if (this_present_durability || that_present_durability) {
+      if (!(this_present_durability && that_present_durability))
+        return false;
+      if (!this.durability.equals(that.durability))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_tableName = true && (isSetTableName());
+    list.add(present_tableName);
+    if (present_tableName)
+      list.add(tableName);
+
+    boolean present_columns = true && (isSetColumns());
+    list.add(present_columns);
+    if (present_columns)
+      list.add(columns);
+
+    boolean present_attributes = true && (isSetAttributes());
+    list.add(present_attributes);
+    if (present_attributes)
+      list.add(attributes);
+
+    boolean present_durability = true && (isSetDurability());
+    list.add(present_durability);
+    if (present_durability)
+      list.add(durability.getValue());
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(TTableDescriptor other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTableName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tableName, other.tableName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetColumns()).compareTo(other.isSetColumns());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetColumns()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.columns, other.columns);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetAttributes()).compareTo(other.isSetAttributes());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetAttributes()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.attributes, other.attributes);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDurability()).compareTo(other.isSetDurability());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDurability()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.durability, other.durability);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("TTableDescriptor(");
+    boolean first = true;
+
+    sb.append("tableName:");
+    if (this.tableName == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.tableName);
+    }
+    first = false;
+    if (isSetColumns()) {
+      if (!first) sb.append(", ");
+      sb.append("columns:");
+      if (this.columns == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.columns);
+      }
+      first = false;
+    }
+    if (isSetAttributes()) {
+      if (!first) sb.append(", ");
+      sb.append("attributes:");
+      if (this.attributes == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.attributes);
+      }
+      first = false;
+    }
+    if (isSetDurability()) {
+      if (!first) sb.append(", ");
+      sb.append("durability:");
+      if (this.durability == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.durability);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (tableName == null) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'tableName' was not present! Struct: " + toString());
+    }
+    // check for sub-struct validity
+    if (tableName != null) {
+      tableName.validate();
+    }
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class TTableDescriptorStandardSchemeFactory implements SchemeFactory {
+    public TTableDescriptorStandardScheme getScheme() {
+      return new TTableDescriptorStandardScheme();
+    }
+  }
+
+  private static class TTableDescriptorStandardScheme extends StandardScheme<TTableDescriptor> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, TTableDescriptor struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // TABLE_NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.tableName = new TTableName();
+              struct.tableName.read(iprot);
+              struct.setTableNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // COLUMNS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list162 = iprot.readListBegin();
+                struct.columns = new ArrayList<TColumnFamilyDescriptor>(_list162.size);
+                TColumnFamilyDescriptor _elem163;
+                for (int _i164 = 0; _i164 < _list162.size; ++_i164)
+                {
+                  _elem163 = new TColumnFamilyDescriptor();
+                  _elem163.read(iprot);
+                  struct.columns.add(_elem163);
+                }
+                iprot.readListEnd();
+              }
+              struct.setColumnsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // ATTRIBUTES
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map165 = iprot.readMapBegin();
+                struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map165.size);
+                ByteBuffer _key166;
+                ByteBuffer _val167;
+                for (int _i168 = 0; _i168 < _map165.size; ++_i168)
+                {
+                  _key166 = iprot.readBinary();
+                  _val167 = iprot.readBinary();
+                  struct.attributes.put(_key166, _val167);
+                }
+                iprot.readMapEnd();
+              }
+              struct.setAttributesIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // DURABILITY
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.durability = org.apache.hadoop.hbase.thrift2.generated.TDurability.findByValue(iprot.readI32());
+              struct.setDurabilityIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, TTableDescriptor struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.tableName != null) {
+        oprot.writeFieldBegin(TABLE_NAME_FIELD_DESC);
+        struct.tableName.write(oprot);
+        oprot.writeFieldEnd();
+      }
+      if (struct.columns != null) {
+        if (struct.isSetColumns()) {
+          oprot.writeFieldBegin(COLUMNS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.columns.size()));
+            for (TColumnFamilyDescriptor _iter169 : struct.columns)
+            {
+              _iter169.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.attributes != null) {
+        if (struct.isSetAttributes()) {
+          oprot.writeFieldBegin(ATTRIBUTES_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.attributes.size()));
+            for (Map.Entry<ByteBuffer, ByteBuffer> _iter170 : struct.attributes.entrySet())
+            {
+              oprot.writeBinary(_iter170.getKey());
+              oprot.writeBinary(_iter170.getValue());
+            }
+            oprot.writeMapEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.durability != null) {
+        if (struct.isSetDurability()) {
+          oprot.writeFieldBegin(DURABILITY_FIELD_DESC);
+          oprot.writeI32(struct.durability.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class TTableDescriptorTupleSchemeFactory implements SchemeFactory {
+    public TTableDescriptorTupleScheme getScheme() {
+      return new TTableDescriptorTupleScheme();
+    }
+  }
+
+  private static class TTableDescriptorTupleScheme extends TupleScheme<TTableDescriptor> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, TTableDescriptor struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      struct.tableName.write(oprot);
+      BitSet optionals = new BitSet();
+      if (struct.isSetColumns()) {
+        optionals.set(0);
+      }
+      if (struct.isSetAttributes()) {
+        optionals.set(1);
+      }
+      if (struct.isSetDurability()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetColumns()) {
+        {
+          oprot.writeI32(struct.columns.size());
+          for (TColumnFamilyDescriptor _iter171 : struct.columns)
+          {
+            _iter171.write(oprot);
+          }
+        }
+      }
+      if (struct.isSetAttributes()) {
+        {
+          oprot.writeI32(struct.attributes.size());
+          for (Map.Entry<ByteBuffer, ByteBuffer> _iter172 : struct.attributes.entrySet())
+          {
+            oprot.writeBinary(_iter172.getKey());
+            oprot.writeBinary(_iter172.getValue());
+          }
+        }
+      }
+      if (struct.isSetDurability()) {
+        oprot.writeI32(struct.durability.getValue());
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, TTableDescriptor struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.tableName = new TTableName();
+      struct.tableName.read(iprot);
+      struct.setTableNameIsSet(true);
+      BitSet incoming = iprot.readBitSet(3);
+      if (incoming.get(0)) {
+        {
+          org.apache.thrift.protocol.TList _list173 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.columns = new ArrayList<TColumnFamilyDescriptor>(_list173.size);
+          TColumnFamilyDescriptor _elem174;
+          for (int _i175 = 0; _i175 < _list173.size; ++_i175)
+          {
+            _elem174 = new TColumnFamilyDescriptor();
+            _elem174.read(iprot);
+            struct.columns.add(_elem174);
+          }
+        }
+        struct.setColumnsIsSet(true);
+      }
+      if (incoming.get(1)) {
+        {
+          org.apache.thrift.protocol.TMap _map176 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map176.size);
+          ByteBuffer _key177;
+          ByteBuffer _val178;
+          for (int _i179 = 0; _i179 < _map176.size; ++_i179)
+          {
+            _key177 = iprot.readBinary();
+            _val178 = iprot.readBinary();
+            struct.attributes.put(_key177, _val178);
+          }
+        }
+        struct.setAttributesIsSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.durability = org.apache.hadoop.hbase.thrift2.generated.TDurability.findByValue(iprot.readI32());
+        struct.setDurabilityIsSet(true);
+      }
+    }
+  }
+
+}
+


[4/9] hbase git commit: HBASE-21650 Add DDL operation and some other miscellaneous to thrift2

Posted by al...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement.java
index 2fb3f76..0f27519 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Represents a single cell and the amount to increment it by
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TColumnIncrement implements org.apache.thrift.TBase<TColumnIncrement, TColumnIncrement._Fields>, java.io.Serializable, Cloneable, Comparable<TColumnIncrement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TColumnIncrement");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnValue.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnValue.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnValue.java
index 3ceb4c0..6cded1b 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnValue.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnValue.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Represents a single cell and its value.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColumnValue._Fields>, java.io.Serializable, Cloneable, Comparable<TColumnValue> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TColumnValue");
 
@@ -46,6 +46,7 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
   private static final org.apache.thrift.protocol.TField VALUE_FIELD_DESC = new org.apache.thrift.protocol.TField("value", org.apache.thrift.protocol.TType.STRING, (short)3);
   private static final org.apache.thrift.protocol.TField TIMESTAMP_FIELD_DESC = new org.apache.thrift.protocol.TField("timestamp", org.apache.thrift.protocol.TType.I64, (short)4);
   private static final org.apache.thrift.protocol.TField TAGS_FIELD_DESC = new org.apache.thrift.protocol.TField("tags", org.apache.thrift.protocol.TType.STRING, (short)5);
+  private static final org.apache.thrift.protocol.TField TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("type", org.apache.thrift.protocol.TType.BYTE, (short)6);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -58,6 +59,7 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
   public ByteBuffer value; // required
   public long timestamp; // optional
   public ByteBuffer tags; // optional
+  public byte type; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -65,7 +67,8 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
     QUALIFIER((short)2, "qualifier"),
     VALUE((short)3, "value"),
     TIMESTAMP((short)4, "timestamp"),
-    TAGS((short)5, "tags");
+    TAGS((short)5, "tags"),
+    TYPE((short)6, "type");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -90,6 +93,8 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
           return TIMESTAMP;
         case 5: // TAGS
           return TAGS;
+        case 6: // TYPE
+          return TYPE;
         default:
           return null;
       }
@@ -131,8 +136,9 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
 
   // isset id assignments
   private static final int __TIMESTAMP_ISSET_ID = 0;
+  private static final int __TYPE_ISSET_ID = 1;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.TIMESTAMP,_Fields.TAGS};
+  private static final _Fields optionals[] = {_Fields.TIMESTAMP,_Fields.TAGS,_Fields.TYPE};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -146,6 +152,8 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
     tmpMap.put(_Fields.TAGS, new org.apache.thrift.meta_data.FieldMetaData("tags", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING        , true)));
+    tmpMap.put(_Fields.TYPE, new org.apache.thrift.meta_data.FieldMetaData("type", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BYTE)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TColumnValue.class, metaDataMap);
   }
@@ -182,6 +190,7 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
     if (other.isSetTags()) {
       this.tags = org.apache.thrift.TBaseHelper.copyBinary(other.tags);
     }
+    this.type = other.type;
   }
 
   public TColumnValue deepCopy() {
@@ -196,6 +205,8 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
     setTimestampIsSet(false);
     this.timestamp = 0;
     this.tags = null;
+    setTypeIsSet(false);
+    this.type = 0;
   }
 
   public byte[] getFamily() {
@@ -357,6 +368,29 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
     }
   }
 
+  public byte getType() {
+    return this.type;
+  }
+
+  public TColumnValue setType(byte type) {
+    this.type = type;
+    setTypeIsSet(true);
+    return this;
+  }
+
+  public void unsetType() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TYPE_ISSET_ID);
+  }
+
+  /** Returns true if field type is set (has been assigned a value) and false otherwise */
+  public boolean isSetType() {
+    return EncodingUtils.testBit(__isset_bitfield, __TYPE_ISSET_ID);
+  }
+
+  public void setTypeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TYPE_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case FAMILY:
@@ -399,6 +433,14 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
       }
       break;
 
+    case TYPE:
+      if (value == null) {
+        unsetType();
+      } else {
+        setType((Byte)value);
+      }
+      break;
+
     }
   }
 
@@ -419,6 +461,9 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
     case TAGS:
       return getTags();
 
+    case TYPE:
+      return getType();
+
     }
     throw new IllegalStateException();
   }
@@ -440,6 +485,8 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
       return isSetTimestamp();
     case TAGS:
       return isSetTags();
+    case TYPE:
+      return isSetType();
     }
     throw new IllegalStateException();
   }
@@ -502,6 +549,15 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
         return false;
     }
 
+    boolean this_present_type = true && this.isSetType();
+    boolean that_present_type = true && that.isSetType();
+    if (this_present_type || that_present_type) {
+      if (!(this_present_type && that_present_type))
+        return false;
+      if (this.type != that.type)
+        return false;
+    }
+
     return true;
   }
 
@@ -534,6 +590,11 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
     if (present_tags)
       list.add(tags);
 
+    boolean present_type = true && (isSetType());
+    list.add(present_type);
+    if (present_type)
+      list.add(type);
+
     return list.hashCode();
   }
 
@@ -595,6 +656,16 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.type, other.type);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -654,6 +725,12 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
       }
       first = false;
     }
+    if (isSetType()) {
+      if (!first) sb.append(", ");
+      sb.append("type:");
+      sb.append(this.type);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -748,6 +825,14 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 6: // TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BYTE) {
+              struct.type = iprot.readByte();
+              struct.setTypeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -790,6 +875,11 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
           oprot.writeFieldEnd();
         }
       }
+      if (struct.isSetType()) {
+        oprot.writeFieldBegin(TYPE_FIELD_DESC);
+        oprot.writeByte(struct.type);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -817,13 +907,19 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
       if (struct.isSetTags()) {
         optionals.set(1);
       }
-      oprot.writeBitSet(optionals, 2);
+      if (struct.isSetType()) {
+        optionals.set(2);
+      }
+      oprot.writeBitSet(optionals, 3);
       if (struct.isSetTimestamp()) {
         oprot.writeI64(struct.timestamp);
       }
       if (struct.isSetTags()) {
         oprot.writeBinary(struct.tags);
       }
+      if (struct.isSetType()) {
+        oprot.writeByte(struct.type);
+      }
     }
 
     @Override
@@ -835,7 +931,7 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
       struct.setQualifierIsSet(true);
       struct.value = iprot.readBinary();
       struct.setValueIsSet(true);
-      BitSet incoming = iprot.readBitSet(2);
+      BitSet incoming = iprot.readBitSet(3);
       if (incoming.get(0)) {
         struct.timestamp = iprot.readI64();
         struct.setTimestampIsSet(true);
@@ -844,6 +940,10 @@ public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColu
         struct.tags = iprot.readBinary();
         struct.setTagsIsSet(true);
       }
+      if (incoming.get(2)) {
+        struct.type = iprot.readByte();
+        struct.setTypeIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCompressionAlgorithm.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCompressionAlgorithm.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCompressionAlgorithm.java
new file mode 100644
index 0000000..46799be
--- /dev/null
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCompressionAlgorithm.java
@@ -0,0 +1,60 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.hadoop.hbase.thrift2.generated;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum TCompressionAlgorithm implements org.apache.thrift.TEnum {
+  LZO(0),
+  GZ(1),
+  NONE(2),
+  SNAPPY(3),
+  LZ4(4),
+  BZIP2(5),
+  ZSTD(6);
+
+  private final int value;
+
+  private TCompressionAlgorithm(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static TCompressionAlgorithm findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return LZO;
+      case 1:
+        return GZ;
+      case 2:
+        return NONE;
+      case 3:
+        return SNAPPY;
+      case 4:
+        return LZ4;
+      case 5:
+        return BZIP2;
+      case 6:
+        return ZSTD;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDataBlockEncoding.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDataBlockEncoding.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDataBlockEncoding.java
new file mode 100644
index 0000000..1594aac3
--- /dev/null
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDataBlockEncoding.java
@@ -0,0 +1,57 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.hadoop.hbase.thrift2.generated;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+public enum TDataBlockEncoding implements org.apache.thrift.TEnum {
+  /**
+   * Disable data block encoding.
+   */
+  NONE(0),
+  PREFIX(2),
+  DIFF(3),
+  FAST_DIFF(4),
+  ROW_INDEX_V1(7);
+
+  private final int value;
+
+  private TDataBlockEncoding(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static TDataBlockEncoding findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return NONE;
+      case 2:
+        return PREFIX;
+      case 3:
+        return DIFF;
+      case 4:
+        return FAST_DIFF;
+      case 7:
+        return ROW_INDEX_V1;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDelete.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDelete.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDelete.java
index 8f7f119..fb4ffe6 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDelete.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDelete.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * by changing the durability. If you don't provide durability, it defaults to
  * column family's default setting for durability.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TDelete implements org.apache.thrift.TBase<TDelete, TDelete._Fields>, java.io.Serializable, Cloneable, Comparable<TDelete> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TDelete");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDurability.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDurability.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDurability.java
index c1144f3..dbe7393 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDurability.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDurability.java
@@ -19,6 +19,7 @@ import org.apache.thrift.TEnum;
  *  - FSYNC_WAL means Write the Mutation to the WAL synchronously and force the entries to disk.
  */
 public enum TDurability implements org.apache.thrift.TEnum {
+  USE_DEFAULT(0),
   SKIP_WAL(1),
   ASYNC_WAL(2),
   SYNC_WAL(3),
@@ -43,6 +44,8 @@ public enum TDurability implements org.apache.thrift.TEnum {
    */
   public static TDurability findByValue(int value) { 
     switch (value) {
+      case 0:
+        return USE_DEFAULT;
       case 1:
         return SKIP_WAL;
       case 2:

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java
index cfb1d6c..1b01ef5 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
  * If you specify a time range and a timestamp the range is ignored.
  * Timestamps on TColumns are ignored.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-07-03")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.io.Serializable, Cloneable, Comparable<TGet> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TGet");
 
@@ -61,6 +61,10 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
   private static final org.apache.thrift.protocol.TField AUTHORIZATIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("authorizations", org.apache.thrift.protocol.TType.STRUCT, (short)8);
   private static final org.apache.thrift.protocol.TField CONSISTENCY_FIELD_DESC = new org.apache.thrift.protocol.TField("consistency", org.apache.thrift.protocol.TType.I32, (short)9);
   private static final org.apache.thrift.protocol.TField TARGET_REPLICA_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("targetReplicaId", org.apache.thrift.protocol.TType.I32, (short)10);
+  private static final org.apache.thrift.protocol.TField CACHE_BLOCKS_FIELD_DESC = new org.apache.thrift.protocol.TField("cacheBlocks", org.apache.thrift.protocol.TType.BOOL, (short)11);
+  private static final org.apache.thrift.protocol.TField STORE_LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("storeLimit", org.apache.thrift.protocol.TType.I32, (short)12);
+  private static final org.apache.thrift.protocol.TField STORE_OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("storeOffset", org.apache.thrift.protocol.TType.I32, (short)13);
+  private static final org.apache.thrift.protocol.TField EXISTENCE_ONLY_FIELD_DESC = new org.apache.thrift.protocol.TField("existence_only", org.apache.thrift.protocol.TType.BOOL, (short)14);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -82,6 +86,10 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
    */
   public TConsistency consistency; // optional
   public int targetReplicaId; // optional
+  public boolean cacheBlocks; // optional
+  public int storeLimit; // optional
+  public int storeOffset; // optional
+  public boolean existence_only; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -98,7 +106,11 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
      * @see TConsistency
      */
     CONSISTENCY((short)9, "consistency"),
-    TARGET_REPLICA_ID((short)10, "targetReplicaId");
+    TARGET_REPLICA_ID((short)10, "targetReplicaId"),
+    CACHE_BLOCKS((short)11, "cacheBlocks"),
+    STORE_LIMIT((short)12, "storeLimit"),
+    STORE_OFFSET((short)13, "storeOffset"),
+    EXISTENCE_ONLY((short)14, "existence_only");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -133,6 +145,14 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
           return CONSISTENCY;
         case 10: // TARGET_REPLICA_ID
           return TARGET_REPLICA_ID;
+        case 11: // CACHE_BLOCKS
+          return CACHE_BLOCKS;
+        case 12: // STORE_LIMIT
+          return STORE_LIMIT;
+        case 13: // STORE_OFFSET
+          return STORE_OFFSET;
+        case 14: // EXISTENCE_ONLY
+          return EXISTENCE_ONLY;
         default:
           return null;
       }
@@ -176,8 +196,12 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
   private static final int __TIMESTAMP_ISSET_ID = 0;
   private static final int __MAXVERSIONS_ISSET_ID = 1;
   private static final int __TARGETREPLICAID_ISSET_ID = 2;
+  private static final int __CACHEBLOCKS_ISSET_ID = 3;
+  private static final int __STORELIMIT_ISSET_ID = 4;
+  private static final int __STOREOFFSET_ISSET_ID = 5;
+  private static final int __EXISTENCE_ONLY_ISSET_ID = 6;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.COLUMNS,_Fields.TIMESTAMP,_Fields.TIME_RANGE,_Fields.MAX_VERSIONS,_Fields.FILTER_STRING,_Fields.ATTRIBUTES,_Fields.AUTHORIZATIONS,_Fields.CONSISTENCY,_Fields.TARGET_REPLICA_ID};
+  private static final _Fields optionals[] = {_Fields.COLUMNS,_Fields.TIMESTAMP,_Fields.TIME_RANGE,_Fields.MAX_VERSIONS,_Fields.FILTER_STRING,_Fields.ATTRIBUTES,_Fields.AUTHORIZATIONS,_Fields.CONSISTENCY,_Fields.TARGET_REPLICA_ID,_Fields.CACHE_BLOCKS,_Fields.STORE_LIMIT,_Fields.STORE_OFFSET,_Fields.EXISTENCE_ONLY};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -204,6 +228,14 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TConsistency.class)));
     tmpMap.put(_Fields.TARGET_REPLICA_ID, new org.apache.thrift.meta_data.FieldMetaData("targetReplicaId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.CACHE_BLOCKS, new org.apache.thrift.meta_data.FieldMetaData("cacheBlocks", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.STORE_LIMIT, new org.apache.thrift.meta_data.FieldMetaData("storeLimit", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.STORE_OFFSET, new org.apache.thrift.meta_data.FieldMetaData("storeOffset", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.EXISTENCE_ONLY, new org.apache.thrift.meta_data.FieldMetaData("existence_only", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TGet.class, metaDataMap);
   }
@@ -252,6 +284,10 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       this.consistency = other.consistency;
     }
     this.targetReplicaId = other.targetReplicaId;
+    this.cacheBlocks = other.cacheBlocks;
+    this.storeLimit = other.storeLimit;
+    this.storeOffset = other.storeOffset;
+    this.existence_only = other.existence_only;
   }
 
   public TGet deepCopy() {
@@ -273,6 +309,14 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     this.consistency = null;
     setTargetReplicaIdIsSet(false);
     this.targetReplicaId = 0;
+    setCacheBlocksIsSet(false);
+    this.cacheBlocks = false;
+    setStoreLimitIsSet(false);
+    this.storeLimit = 0;
+    setStoreOffsetIsSet(false);
+    this.storeOffset = 0;
+    setExistence_onlyIsSet(false);
+    this.existence_only = false;
   }
 
   public byte[] getRow() {
@@ -566,6 +610,98 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID, value);
   }
 
+  public boolean isCacheBlocks() {
+    return this.cacheBlocks;
+  }
+
+  public TGet setCacheBlocks(boolean cacheBlocks) {
+    this.cacheBlocks = cacheBlocks;
+    setCacheBlocksIsSet(true);
+    return this;
+  }
+
+  public void unsetCacheBlocks() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CACHEBLOCKS_ISSET_ID);
+  }
+
+  /** Returns true if field cacheBlocks is set (has been assigned a value) and false otherwise */
+  public boolean isSetCacheBlocks() {
+    return EncodingUtils.testBit(__isset_bitfield, __CACHEBLOCKS_ISSET_ID);
+  }
+
+  public void setCacheBlocksIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CACHEBLOCKS_ISSET_ID, value);
+  }
+
+  public int getStoreLimit() {
+    return this.storeLimit;
+  }
+
+  public TGet setStoreLimit(int storeLimit) {
+    this.storeLimit = storeLimit;
+    setStoreLimitIsSet(true);
+    return this;
+  }
+
+  public void unsetStoreLimit() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __STORELIMIT_ISSET_ID);
+  }
+
+  /** Returns true if field storeLimit is set (has been assigned a value) and false otherwise */
+  public boolean isSetStoreLimit() {
+    return EncodingUtils.testBit(__isset_bitfield, __STORELIMIT_ISSET_ID);
+  }
+
+  public void setStoreLimitIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __STORELIMIT_ISSET_ID, value);
+  }
+
+  public int getStoreOffset() {
+    return this.storeOffset;
+  }
+
+  public TGet setStoreOffset(int storeOffset) {
+    this.storeOffset = storeOffset;
+    setStoreOffsetIsSet(true);
+    return this;
+  }
+
+  public void unsetStoreOffset() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __STOREOFFSET_ISSET_ID);
+  }
+
+  /** Returns true if field storeOffset is set (has been assigned a value) and false otherwise */
+  public boolean isSetStoreOffset() {
+    return EncodingUtils.testBit(__isset_bitfield, __STOREOFFSET_ISSET_ID);
+  }
+
+  public void setStoreOffsetIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __STOREOFFSET_ISSET_ID, value);
+  }
+
+  public boolean isExistence_only() {
+    return this.existence_only;
+  }
+
+  public TGet setExistence_only(boolean existence_only) {
+    this.existence_only = existence_only;
+    setExistence_onlyIsSet(true);
+    return this;
+  }
+
+  public void unsetExistence_only() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __EXISTENCE_ONLY_ISSET_ID);
+  }
+
+  /** Returns true if field existence_only is set (has been assigned a value) and false otherwise */
+  public boolean isSetExistence_only() {
+    return EncodingUtils.testBit(__isset_bitfield, __EXISTENCE_ONLY_ISSET_ID);
+  }
+
+  public void setExistence_onlyIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __EXISTENCE_ONLY_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case ROW:
@@ -648,6 +784,38 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       }
       break;
 
+    case CACHE_BLOCKS:
+      if (value == null) {
+        unsetCacheBlocks();
+      } else {
+        setCacheBlocks((Boolean)value);
+      }
+      break;
+
+    case STORE_LIMIT:
+      if (value == null) {
+        unsetStoreLimit();
+      } else {
+        setStoreLimit((Integer)value);
+      }
+      break;
+
+    case STORE_OFFSET:
+      if (value == null) {
+        unsetStoreOffset();
+      } else {
+        setStoreOffset((Integer)value);
+      }
+      break;
+
+    case EXISTENCE_ONLY:
+      if (value == null) {
+        unsetExistence_only();
+      } else {
+        setExistence_only((Boolean)value);
+      }
+      break;
+
     }
   }
 
@@ -683,6 +851,18 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     case TARGET_REPLICA_ID:
       return getTargetReplicaId();
 
+    case CACHE_BLOCKS:
+      return isCacheBlocks();
+
+    case STORE_LIMIT:
+      return getStoreLimit();
+
+    case STORE_OFFSET:
+      return getStoreOffset();
+
+    case EXISTENCE_ONLY:
+      return isExistence_only();
+
     }
     throw new IllegalStateException();
   }
@@ -714,6 +894,14 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       return isSetConsistency();
     case TARGET_REPLICA_ID:
       return isSetTargetReplicaId();
+    case CACHE_BLOCKS:
+      return isSetCacheBlocks();
+    case STORE_LIMIT:
+      return isSetStoreLimit();
+    case STORE_OFFSET:
+      return isSetStoreOffset();
+    case EXISTENCE_ONLY:
+      return isSetExistence_only();
     }
     throw new IllegalStateException();
   }
@@ -821,6 +1009,42 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
         return false;
     }
 
+    boolean this_present_cacheBlocks = true && this.isSetCacheBlocks();
+    boolean that_present_cacheBlocks = true && that.isSetCacheBlocks();
+    if (this_present_cacheBlocks || that_present_cacheBlocks) {
+      if (!(this_present_cacheBlocks && that_present_cacheBlocks))
+        return false;
+      if (this.cacheBlocks != that.cacheBlocks)
+        return false;
+    }
+
+    boolean this_present_storeLimit = true && this.isSetStoreLimit();
+    boolean that_present_storeLimit = true && that.isSetStoreLimit();
+    if (this_present_storeLimit || that_present_storeLimit) {
+      if (!(this_present_storeLimit && that_present_storeLimit))
+        return false;
+      if (this.storeLimit != that.storeLimit)
+        return false;
+    }
+
+    boolean this_present_storeOffset = true && this.isSetStoreOffset();
+    boolean that_present_storeOffset = true && that.isSetStoreOffset();
+    if (this_present_storeOffset || that_present_storeOffset) {
+      if (!(this_present_storeOffset && that_present_storeOffset))
+        return false;
+      if (this.storeOffset != that.storeOffset)
+        return false;
+    }
+
+    boolean this_present_existence_only = true && this.isSetExistence_only();
+    boolean that_present_existence_only = true && that.isSetExistence_only();
+    if (this_present_existence_only || that_present_existence_only) {
+      if (!(this_present_existence_only && that_present_existence_only))
+        return false;
+      if (this.existence_only != that.existence_only)
+        return false;
+    }
+
     return true;
   }
 
@@ -878,6 +1102,26 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     if (present_targetReplicaId)
       list.add(targetReplicaId);
 
+    boolean present_cacheBlocks = true && (isSetCacheBlocks());
+    list.add(present_cacheBlocks);
+    if (present_cacheBlocks)
+      list.add(cacheBlocks);
+
+    boolean present_storeLimit = true && (isSetStoreLimit());
+    list.add(present_storeLimit);
+    if (present_storeLimit)
+      list.add(storeLimit);
+
+    boolean present_storeOffset = true && (isSetStoreOffset());
+    list.add(present_storeOffset);
+    if (present_storeOffset)
+      list.add(storeOffset);
+
+    boolean present_existence_only = true && (isSetExistence_only());
+    list.add(present_existence_only);
+    if (present_existence_only)
+      list.add(existence_only);
+
     return list.hashCode();
   }
 
@@ -989,6 +1233,46 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetCacheBlocks()).compareTo(other.isSetCacheBlocks());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCacheBlocks()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cacheBlocks, other.cacheBlocks);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetStoreLimit()).compareTo(other.isSetStoreLimit());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetStoreLimit()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeLimit, other.storeLimit);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetStoreOffset()).compareTo(other.isSetStoreOffset());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetStoreOffset()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeOffset, other.storeOffset);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetExistence_only()).compareTo(other.isSetExistence_only());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetExistence_only()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.existence_only, other.existence_only);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -1094,6 +1378,30 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       sb.append(this.targetReplicaId);
       first = false;
     }
+    if (isSetCacheBlocks()) {
+      if (!first) sb.append(", ");
+      sb.append("cacheBlocks:");
+      sb.append(this.cacheBlocks);
+      first = false;
+    }
+    if (isSetStoreLimit()) {
+      if (!first) sb.append(", ");
+      sb.append("storeLimit:");
+      sb.append(this.storeLimit);
+      first = false;
+    }
+    if (isSetStoreOffset()) {
+      if (!first) sb.append(", ");
+      sb.append("storeOffset:");
+      sb.append(this.storeOffset);
+      first = false;
+    }
+    if (isSetExistence_only()) {
+      if (!first) sb.append(", ");
+      sb.append("existence_only:");
+      sb.append(this.existence_only);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1253,6 +1561,38 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 11: // CACHE_BLOCKS
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.cacheBlocks = iprot.readBool();
+              struct.setCacheBlocksIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 12: // STORE_LIMIT
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.storeLimit = iprot.readI32();
+              struct.setStoreLimitIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 13: // STORE_OFFSET
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.storeOffset = iprot.readI32();
+              struct.setStoreOffsetIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 14: // EXISTENCE_ONLY
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.existence_only = iprot.readBool();
+              struct.setExistence_onlyIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1345,6 +1685,26 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
         oprot.writeI32(struct.targetReplicaId);
         oprot.writeFieldEnd();
       }
+      if (struct.isSetCacheBlocks()) {
+        oprot.writeFieldBegin(CACHE_BLOCKS_FIELD_DESC);
+        oprot.writeBool(struct.cacheBlocks);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetStoreLimit()) {
+        oprot.writeFieldBegin(STORE_LIMIT_FIELD_DESC);
+        oprot.writeI32(struct.storeLimit);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetStoreOffset()) {
+        oprot.writeFieldBegin(STORE_OFFSET_FIELD_DESC);
+        oprot.writeI32(struct.storeOffset);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetExistence_only()) {
+        oprot.writeFieldBegin(EXISTENCE_ONLY_FIELD_DESC);
+        oprot.writeBool(struct.existence_only);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1391,7 +1751,19 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       if (struct.isSetTargetReplicaId()) {
         optionals.set(8);
       }
-      oprot.writeBitSet(optionals, 9);
+      if (struct.isSetCacheBlocks()) {
+        optionals.set(9);
+      }
+      if (struct.isSetStoreLimit()) {
+        optionals.set(10);
+      }
+      if (struct.isSetStoreOffset()) {
+        optionals.set(11);
+      }
+      if (struct.isSetExistence_only()) {
+        optionals.set(12);
+      }
+      oprot.writeBitSet(optionals, 13);
       if (struct.isSetColumns()) {
         {
           oprot.writeI32(struct.columns.size());
@@ -1432,6 +1804,18 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       if (struct.isSetTargetReplicaId()) {
         oprot.writeI32(struct.targetReplicaId);
       }
+      if (struct.isSetCacheBlocks()) {
+        oprot.writeBool(struct.cacheBlocks);
+      }
+      if (struct.isSetStoreLimit()) {
+        oprot.writeI32(struct.storeLimit);
+      }
+      if (struct.isSetStoreOffset()) {
+        oprot.writeI32(struct.storeOffset);
+      }
+      if (struct.isSetExistence_only()) {
+        oprot.writeBool(struct.existence_only);
+      }
     }
 
     @Override
@@ -1439,7 +1823,7 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       TTupleProtocol iprot = (TTupleProtocol) prot;
       struct.row = iprot.readBinary();
       struct.setRowIsSet(true);
-      BitSet incoming = iprot.readBitSet(9);
+      BitSet incoming = iprot.readBitSet(13);
       if (incoming.get(0)) {
         {
           org.apache.thrift.protocol.TList _list27 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
@@ -1499,6 +1883,22 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
         struct.targetReplicaId = iprot.readI32();
         struct.setTargetReplicaIdIsSet(true);
       }
+      if (incoming.get(9)) {
+        struct.cacheBlocks = iprot.readBool();
+        struct.setCacheBlocksIsSet(true);
+      }
+      if (incoming.get(10)) {
+        struct.storeLimit = iprot.readI32();
+        struct.setStoreLimitIsSet(true);
+      }
+      if (incoming.get(11)) {
+        struct.storeOffset = iprot.readI32();
+        struct.setStoreOffsetIsSet(true);
+      }
+      if (incoming.get(12)) {
+        struct.existence_only = iprot.readBool();
+        struct.setExistence_onlyIsSet(true);
+      }
     }
   }
 


[5/9] hbase git commit: HBASE-21650 Add DDL operation and some other miscellaneous to thrift2

Posted by al...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnFamilyDescriptor.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnFamilyDescriptor.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnFamilyDescriptor.java
new file mode 100644
index 0000000..03cb2f6
--- /dev/null
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnFamilyDescriptor.java
@@ -0,0 +1,2519 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.hadoop.hbase.thrift2.generated;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+public class TColumnFamilyDescriptor implements org.apache.thrift.TBase<TColumnFamilyDescriptor, TColumnFamilyDescriptor._Fields>, java.io.Serializable, Cloneable, Comparable<TColumnFamilyDescriptor> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TColumnFamilyDescriptor");
+
+  private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField ATTRIBUTES_FIELD_DESC = new org.apache.thrift.protocol.TField("attributes", org.apache.thrift.protocol.TType.MAP, (short)2);
+  private static final org.apache.thrift.protocol.TField CONFIGURATION_FIELD_DESC = new org.apache.thrift.protocol.TField("configuration", org.apache.thrift.protocol.TType.MAP, (short)3);
+  private static final org.apache.thrift.protocol.TField BLOCK_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("blockSize", org.apache.thrift.protocol.TType.I32, (short)4);
+  private static final org.apache.thrift.protocol.TField BLOOMN_FILTER_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("bloomnFilterType", org.apache.thrift.protocol.TType.I32, (short)5);
+  private static final org.apache.thrift.protocol.TField COMPRESSION_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("compressionType", org.apache.thrift.protocol.TType.I32, (short)6);
+  private static final org.apache.thrift.protocol.TField DFS_REPLICATION_FIELD_DESC = new org.apache.thrift.protocol.TField("dfsReplication", org.apache.thrift.protocol.TType.I16, (short)7);
+  private static final org.apache.thrift.protocol.TField DATA_BLOCK_ENCODING_FIELD_DESC = new org.apache.thrift.protocol.TField("dataBlockEncoding", org.apache.thrift.protocol.TType.I32, (short)8);
+  private static final org.apache.thrift.protocol.TField KEEP_DELETED_CELLS_FIELD_DESC = new org.apache.thrift.protocol.TField("keepDeletedCells", org.apache.thrift.protocol.TType.I32, (short)9);
+  private static final org.apache.thrift.protocol.TField MAX_VERSIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("maxVersions", org.apache.thrift.protocol.TType.I32, (short)10);
+  private static final org.apache.thrift.protocol.TField MIN_VERSIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("minVersions", org.apache.thrift.protocol.TType.I32, (short)11);
+  private static final org.apache.thrift.protocol.TField SCOPE_FIELD_DESC = new org.apache.thrift.protocol.TField("scope", org.apache.thrift.protocol.TType.I32, (short)12);
+  private static final org.apache.thrift.protocol.TField TIME_TO_LIVE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeToLive", org.apache.thrift.protocol.TType.I32, (short)13);
+  private static final org.apache.thrift.protocol.TField BLOCK_CACHE_ENABLED_FIELD_DESC = new org.apache.thrift.protocol.TField("blockCacheEnabled", org.apache.thrift.protocol.TType.BOOL, (short)14);
+  private static final org.apache.thrift.protocol.TField CACHE_BLOOMS_ON_WRITE_FIELD_DESC = new org.apache.thrift.protocol.TField("cacheBloomsOnWrite", org.apache.thrift.protocol.TType.BOOL, (short)15);
+  private static final org.apache.thrift.protocol.TField CACHE_DATA_ON_WRITE_FIELD_DESC = new org.apache.thrift.protocol.TField("cacheDataOnWrite", org.apache.thrift.protocol.TType.BOOL, (short)16);
+  private static final org.apache.thrift.protocol.TField CACHE_INDEXES_ON_WRITE_FIELD_DESC = new org.apache.thrift.protocol.TField("cacheIndexesOnWrite", org.apache.thrift.protocol.TType.BOOL, (short)17);
+  private static final org.apache.thrift.protocol.TField COMPRESS_TAGS_FIELD_DESC = new org.apache.thrift.protocol.TField("compressTags", org.apache.thrift.protocol.TType.BOOL, (short)18);
+  private static final org.apache.thrift.protocol.TField EVICT_BLOCKS_ON_CLOSE_FIELD_DESC = new org.apache.thrift.protocol.TField("evictBlocksOnClose", org.apache.thrift.protocol.TType.BOOL, (short)19);
+  private static final org.apache.thrift.protocol.TField IN_MEMORY_FIELD_DESC = new org.apache.thrift.protocol.TField("inMemory", org.apache.thrift.protocol.TType.BOOL, (short)20);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new TColumnFamilyDescriptorStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new TColumnFamilyDescriptorTupleSchemeFactory());
+  }
+
+  public ByteBuffer name; // required
+  public Map<ByteBuffer,ByteBuffer> attributes; // optional
+  public Map<String,String> configuration; // optional
+  public int blockSize; // optional
+  /**
+   * 
+   * @see TBloomFilterType
+   */
+  public TBloomFilterType bloomnFilterType; // optional
+  /**
+   * 
+   * @see TCompressionAlgorithm
+   */
+  public TCompressionAlgorithm compressionType; // optional
+  public short dfsReplication; // optional
+  /**
+   * 
+   * @see TDataBlockEncoding
+   */
+  public TDataBlockEncoding dataBlockEncoding; // optional
+  /**
+   * 
+   * @see TKeepDeletedCells
+   */
+  public TKeepDeletedCells keepDeletedCells; // optional
+  public int maxVersions; // optional
+  public int minVersions; // optional
+  public int scope; // optional
+  public int timeToLive; // optional
+  public boolean blockCacheEnabled; // optional
+  public boolean cacheBloomsOnWrite; // optional
+  public boolean cacheDataOnWrite; // optional
+  public boolean cacheIndexesOnWrite; // optional
+  public boolean compressTags; // optional
+  public boolean evictBlocksOnClose; // optional
+  public boolean inMemory; // optional
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    NAME((short)1, "name"),
+    ATTRIBUTES((short)2, "attributes"),
+    CONFIGURATION((short)3, "configuration"),
+    BLOCK_SIZE((short)4, "blockSize"),
+    /**
+     * 
+     * @see TBloomFilterType
+     */
+    BLOOMN_FILTER_TYPE((short)5, "bloomnFilterType"),
+    /**
+     * 
+     * @see TCompressionAlgorithm
+     */
+    COMPRESSION_TYPE((short)6, "compressionType"),
+    DFS_REPLICATION((short)7, "dfsReplication"),
+    /**
+     * 
+     * @see TDataBlockEncoding
+     */
+    DATA_BLOCK_ENCODING((short)8, "dataBlockEncoding"),
+    /**
+     * 
+     * @see TKeepDeletedCells
+     */
+    KEEP_DELETED_CELLS((short)9, "keepDeletedCells"),
+    MAX_VERSIONS((short)10, "maxVersions"),
+    MIN_VERSIONS((short)11, "minVersions"),
+    SCOPE((short)12, "scope"),
+    TIME_TO_LIVE((short)13, "timeToLive"),
+    BLOCK_CACHE_ENABLED((short)14, "blockCacheEnabled"),
+    CACHE_BLOOMS_ON_WRITE((short)15, "cacheBloomsOnWrite"),
+    CACHE_DATA_ON_WRITE((short)16, "cacheDataOnWrite"),
+    CACHE_INDEXES_ON_WRITE((short)17, "cacheIndexesOnWrite"),
+    COMPRESS_TAGS((short)18, "compressTags"),
+    EVICT_BLOCKS_ON_CLOSE((short)19, "evictBlocksOnClose"),
+    IN_MEMORY((short)20, "inMemory");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // NAME
+          return NAME;
+        case 2: // ATTRIBUTES
+          return ATTRIBUTES;
+        case 3: // CONFIGURATION
+          return CONFIGURATION;
+        case 4: // BLOCK_SIZE
+          return BLOCK_SIZE;
+        case 5: // BLOOMN_FILTER_TYPE
+          return BLOOMN_FILTER_TYPE;
+        case 6: // COMPRESSION_TYPE
+          return COMPRESSION_TYPE;
+        case 7: // DFS_REPLICATION
+          return DFS_REPLICATION;
+        case 8: // DATA_BLOCK_ENCODING
+          return DATA_BLOCK_ENCODING;
+        case 9: // KEEP_DELETED_CELLS
+          return KEEP_DELETED_CELLS;
+        case 10: // MAX_VERSIONS
+          return MAX_VERSIONS;
+        case 11: // MIN_VERSIONS
+          return MIN_VERSIONS;
+        case 12: // SCOPE
+          return SCOPE;
+        case 13: // TIME_TO_LIVE
+          return TIME_TO_LIVE;
+        case 14: // BLOCK_CACHE_ENABLED
+          return BLOCK_CACHE_ENABLED;
+        case 15: // CACHE_BLOOMS_ON_WRITE
+          return CACHE_BLOOMS_ON_WRITE;
+        case 16: // CACHE_DATA_ON_WRITE
+          return CACHE_DATA_ON_WRITE;
+        case 17: // CACHE_INDEXES_ON_WRITE
+          return CACHE_INDEXES_ON_WRITE;
+        case 18: // COMPRESS_TAGS
+          return COMPRESS_TAGS;
+        case 19: // EVICT_BLOCKS_ON_CLOSE
+          return EVICT_BLOCKS_ON_CLOSE;
+        case 20: // IN_MEMORY
+          return IN_MEMORY;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final int __BLOCKSIZE_ISSET_ID = 0;
+  private static final int __DFSREPLICATION_ISSET_ID = 1;
+  private static final int __MAXVERSIONS_ISSET_ID = 2;
+  private static final int __MINVERSIONS_ISSET_ID = 3;
+  private static final int __SCOPE_ISSET_ID = 4;
+  private static final int __TIMETOLIVE_ISSET_ID = 5;
+  private static final int __BLOCKCACHEENABLED_ISSET_ID = 6;
+  private static final int __CACHEBLOOMSONWRITE_ISSET_ID = 7;
+  private static final int __CACHEDATAONWRITE_ISSET_ID = 8;
+  private static final int __CACHEINDEXESONWRITE_ISSET_ID = 9;
+  private static final int __COMPRESSTAGS_ISSET_ID = 10;
+  private static final int __EVICTBLOCKSONCLOSE_ISSET_ID = 11;
+  private static final int __INMEMORY_ISSET_ID = 12;
+  private short __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.ATTRIBUTES,_Fields.CONFIGURATION,_Fields.BLOCK_SIZE,_Fields.BLOOMN_FILTER_TYPE,_Fields.COMPRESSION_TYPE,_Fields.DFS_REPLICATION,_Fields.DATA_BLOCK_ENCODING,_Fields.KEEP_DELETED_CELLS,_Fields.MAX_VERSIONS,_Fields.MIN_VERSIONS,_Fields.SCOPE,_Fields.TIME_TO_LIVE,_Fields.BLOCK_CACHE_ENABLED,_Fields.CACHE_BLOOMS_ON_WRITE,_Fields.CACHE_DATA_ON_WRITE,_Fields.CACHE_INDEXES_ON_WRITE,_Fields.COMPRESS_TAGS,_Fields.EVICT_BLOCKS_ON_CLOSE,_Fields.IN_MEMORY};
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING        , true)));
+    tmpMap.put(_Fields.ATTRIBUTES, new org.apache.thrift.meta_data.FieldMetaData("attributes", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING            , true), 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING            , true))));
+    tmpMap.put(_Fields.CONFIGURATION, new org.apache.thrift.meta_data.FieldMetaData("configuration", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+    tmpMap.put(_Fields.BLOCK_SIZE, new org.apache.thrift.meta_data.FieldMetaData("blockSize", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.BLOOMN_FILTER_TYPE, new org.apache.thrift.meta_data.FieldMetaData("bloomnFilterType", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TBloomFilterType.class)));
+    tmpMap.put(_Fields.COMPRESSION_TYPE, new org.apache.thrift.meta_data.FieldMetaData("compressionType", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TCompressionAlgorithm.class)));
+    tmpMap.put(_Fields.DFS_REPLICATION, new org.apache.thrift.meta_data.FieldMetaData("dfsReplication", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I16)));
+    tmpMap.put(_Fields.DATA_BLOCK_ENCODING, new org.apache.thrift.meta_data.FieldMetaData("dataBlockEncoding", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TDataBlockEncoding.class)));
+    tmpMap.put(_Fields.KEEP_DELETED_CELLS, new org.apache.thrift.meta_data.FieldMetaData("keepDeletedCells", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TKeepDeletedCells.class)));
+    tmpMap.put(_Fields.MAX_VERSIONS, new org.apache.thrift.meta_data.FieldMetaData("maxVersions", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.MIN_VERSIONS, new org.apache.thrift.meta_data.FieldMetaData("minVersions", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.SCOPE, new org.apache.thrift.meta_data.FieldMetaData("scope", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.TIME_TO_LIVE, new org.apache.thrift.meta_data.FieldMetaData("timeToLive", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.BLOCK_CACHE_ENABLED, new org.apache.thrift.meta_data.FieldMetaData("blockCacheEnabled", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.CACHE_BLOOMS_ON_WRITE, new org.apache.thrift.meta_data.FieldMetaData("cacheBloomsOnWrite", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.CACHE_DATA_ON_WRITE, new org.apache.thrift.meta_data.FieldMetaData("cacheDataOnWrite", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.CACHE_INDEXES_ON_WRITE, new org.apache.thrift.meta_data.FieldMetaData("cacheIndexesOnWrite", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.COMPRESS_TAGS, new org.apache.thrift.meta_data.FieldMetaData("compressTags", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.EVICT_BLOCKS_ON_CLOSE, new org.apache.thrift.meta_data.FieldMetaData("evictBlocksOnClose", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.IN_MEMORY, new org.apache.thrift.meta_data.FieldMetaData("inMemory", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TColumnFamilyDescriptor.class, metaDataMap);
+  }
+
+  public TColumnFamilyDescriptor() {
+  }
+
+  public TColumnFamilyDescriptor(
+    ByteBuffer name)
+  {
+    this();
+    this.name = org.apache.thrift.TBaseHelper.copyBinary(name);
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public TColumnFamilyDescriptor(TColumnFamilyDescriptor other) {
+    __isset_bitfield = other.__isset_bitfield;
+    if (other.isSetName()) {
+      this.name = org.apache.thrift.TBaseHelper.copyBinary(other.name);
+    }
+    if (other.isSetAttributes()) {
+      Map<ByteBuffer,ByteBuffer> __this__attributes = new HashMap<ByteBuffer,ByteBuffer>(other.attributes);
+      this.attributes = __this__attributes;
+    }
+    if (other.isSetConfiguration()) {
+      Map<String,String> __this__configuration = new HashMap<String,String>(other.configuration);
+      this.configuration = __this__configuration;
+    }
+    this.blockSize = other.blockSize;
+    if (other.isSetBloomnFilterType()) {
+      this.bloomnFilterType = other.bloomnFilterType;
+    }
+    if (other.isSetCompressionType()) {
+      this.compressionType = other.compressionType;
+    }
+    this.dfsReplication = other.dfsReplication;
+    if (other.isSetDataBlockEncoding()) {
+      this.dataBlockEncoding = other.dataBlockEncoding;
+    }
+    if (other.isSetKeepDeletedCells()) {
+      this.keepDeletedCells = other.keepDeletedCells;
+    }
+    this.maxVersions = other.maxVersions;
+    this.minVersions = other.minVersions;
+    this.scope = other.scope;
+    this.timeToLive = other.timeToLive;
+    this.blockCacheEnabled = other.blockCacheEnabled;
+    this.cacheBloomsOnWrite = other.cacheBloomsOnWrite;
+    this.cacheDataOnWrite = other.cacheDataOnWrite;
+    this.cacheIndexesOnWrite = other.cacheIndexesOnWrite;
+    this.compressTags = other.compressTags;
+    this.evictBlocksOnClose = other.evictBlocksOnClose;
+    this.inMemory = other.inMemory;
+  }
+
+  public TColumnFamilyDescriptor deepCopy() {
+    return new TColumnFamilyDescriptor(this);
+  }
+
+  @Override
+  public void clear() {
+    this.name = null;
+    this.attributes = null;
+    this.configuration = null;
+    setBlockSizeIsSet(false);
+    this.blockSize = 0;
+    this.bloomnFilterType = null;
+    this.compressionType = null;
+    setDfsReplicationIsSet(false);
+    this.dfsReplication = 0;
+    this.dataBlockEncoding = null;
+    this.keepDeletedCells = null;
+    setMaxVersionsIsSet(false);
+    this.maxVersions = 0;
+    setMinVersionsIsSet(false);
+    this.minVersions = 0;
+    setScopeIsSet(false);
+    this.scope = 0;
+    setTimeToLiveIsSet(false);
+    this.timeToLive = 0;
+    setBlockCacheEnabledIsSet(false);
+    this.blockCacheEnabled = false;
+    setCacheBloomsOnWriteIsSet(false);
+    this.cacheBloomsOnWrite = false;
+    setCacheDataOnWriteIsSet(false);
+    this.cacheDataOnWrite = false;
+    setCacheIndexesOnWriteIsSet(false);
+    this.cacheIndexesOnWrite = false;
+    setCompressTagsIsSet(false);
+    this.compressTags = false;
+    setEvictBlocksOnCloseIsSet(false);
+    this.evictBlocksOnClose = false;
+    setInMemoryIsSet(false);
+    this.inMemory = false;
+  }
+
+  public byte[] getName() {
+    setName(org.apache.thrift.TBaseHelper.rightSize(name));
+    return name == null ? null : name.array();
+  }
+
+  public ByteBuffer bufferForName() {
+    return org.apache.thrift.TBaseHelper.copyBinary(name);
+  }
+
+  public TColumnFamilyDescriptor setName(byte[] name) {
+    this.name = name == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(name, name.length));
+    return this;
+  }
+
+  public TColumnFamilyDescriptor setName(ByteBuffer name) {
+    this.name = org.apache.thrift.TBaseHelper.copyBinary(name);
+    return this;
+  }
+
+  public void unsetName() {
+    this.name = null;
+  }
+
+  /** Returns true if field name is set (has been assigned a value) and false otherwise */
+  public boolean isSetName() {
+    return this.name != null;
+  }
+
+  public void setNameIsSet(boolean value) {
+    if (!value) {
+      this.name = null;
+    }
+  }
+
+  public int getAttributesSize() {
+    return (this.attributes == null) ? 0 : this.attributes.size();
+  }
+
+  public void putToAttributes(ByteBuffer key, ByteBuffer val) {
+    if (this.attributes == null) {
+      this.attributes = new HashMap<ByteBuffer,ByteBuffer>();
+    }
+    this.attributes.put(key, val);
+  }
+
+  public Map<ByteBuffer,ByteBuffer> getAttributes() {
+    return this.attributes;
+  }
+
+  public TColumnFamilyDescriptor setAttributes(Map<ByteBuffer,ByteBuffer> attributes) {
+    this.attributes = attributes;
+    return this;
+  }
+
+  public void unsetAttributes() {
+    this.attributes = null;
+  }
+
+  /** Returns true if field attributes is set (has been assigned a value) and false otherwise */
+  public boolean isSetAttributes() {
+    return this.attributes != null;
+  }
+
+  public void setAttributesIsSet(boolean value) {
+    if (!value) {
+      this.attributes = null;
+    }
+  }
+
+  public int getConfigurationSize() {
+    return (this.configuration == null) ? 0 : this.configuration.size();
+  }
+
+  public void putToConfiguration(String key, String val) {
+    if (this.configuration == null) {
+      this.configuration = new HashMap<String,String>();
+    }
+    this.configuration.put(key, val);
+  }
+
+  public Map<String,String> getConfiguration() {
+    return this.configuration;
+  }
+
+  public TColumnFamilyDescriptor setConfiguration(Map<String,String> configuration) {
+    this.configuration = configuration;
+    return this;
+  }
+
+  public void unsetConfiguration() {
+    this.configuration = null;
+  }
+
+  /** Returns true if field configuration is set (has been assigned a value) and false otherwise */
+  public boolean isSetConfiguration() {
+    return this.configuration != null;
+  }
+
+  public void setConfigurationIsSet(boolean value) {
+    if (!value) {
+      this.configuration = null;
+    }
+  }
+
+  public int getBlockSize() {
+    return this.blockSize;
+  }
+
+  public TColumnFamilyDescriptor setBlockSize(int blockSize) {
+    this.blockSize = blockSize;
+    setBlockSizeIsSet(true);
+    return this;
+  }
+
+  public void unsetBlockSize() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __BLOCKSIZE_ISSET_ID);
+  }
+
+  /** Returns true if field blockSize is set (has been assigned a value) and false otherwise */
+  public boolean isSetBlockSize() {
+    return EncodingUtils.testBit(__isset_bitfield, __BLOCKSIZE_ISSET_ID);
+  }
+
+  public void setBlockSizeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __BLOCKSIZE_ISSET_ID, value);
+  }
+
+  /**
+   * 
+   * @see TBloomFilterType
+   */
+  public TBloomFilterType getBloomnFilterType() {
+    return this.bloomnFilterType;
+  }
+
+  /**
+   * 
+   * @see TBloomFilterType
+   */
+  public TColumnFamilyDescriptor setBloomnFilterType(TBloomFilterType bloomnFilterType) {
+    this.bloomnFilterType = bloomnFilterType;
+    return this;
+  }
+
+  public void unsetBloomnFilterType() {
+    this.bloomnFilterType = null;
+  }
+
+  /** Returns true if field bloomnFilterType is set (has been assigned a value) and false otherwise */
+  public boolean isSetBloomnFilterType() {
+    return this.bloomnFilterType != null;
+  }
+
+  public void setBloomnFilterTypeIsSet(boolean value) {
+    if (!value) {
+      this.bloomnFilterType = null;
+    }
+  }
+
+  /**
+   * 
+   * @see TCompressionAlgorithm
+   */
+  public TCompressionAlgorithm getCompressionType() {
+    return this.compressionType;
+  }
+
+  /**
+   * 
+   * @see TCompressionAlgorithm
+   */
+  public TColumnFamilyDescriptor setCompressionType(TCompressionAlgorithm compressionType) {
+    this.compressionType = compressionType;
+    return this;
+  }
+
+  public void unsetCompressionType() {
+    this.compressionType = null;
+  }
+
+  /** Returns true if field compressionType is set (has been assigned a value) and false otherwise */
+  public boolean isSetCompressionType() {
+    return this.compressionType != null;
+  }
+
+  public void setCompressionTypeIsSet(boolean value) {
+    if (!value) {
+      this.compressionType = null;
+    }
+  }
+
+  public short getDfsReplication() {
+    return this.dfsReplication;
+  }
+
+  public TColumnFamilyDescriptor setDfsReplication(short dfsReplication) {
+    this.dfsReplication = dfsReplication;
+    setDfsReplicationIsSet(true);
+    return this;
+  }
+
+  public void unsetDfsReplication() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DFSREPLICATION_ISSET_ID);
+  }
+
+  /** Returns true if field dfsReplication is set (has been assigned a value) and false otherwise */
+  public boolean isSetDfsReplication() {
+    return EncodingUtils.testBit(__isset_bitfield, __DFSREPLICATION_ISSET_ID);
+  }
+
+  public void setDfsReplicationIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DFSREPLICATION_ISSET_ID, value);
+  }
+
+  /**
+   * 
+   * @see TDataBlockEncoding
+   */
+  public TDataBlockEncoding getDataBlockEncoding() {
+    return this.dataBlockEncoding;
+  }
+
+  /**
+   * 
+   * @see TDataBlockEncoding
+   */
+  public TColumnFamilyDescriptor setDataBlockEncoding(TDataBlockEncoding dataBlockEncoding) {
+    this.dataBlockEncoding = dataBlockEncoding;
+    return this;
+  }
+
+  public void unsetDataBlockEncoding() {
+    this.dataBlockEncoding = null;
+  }
+
+  /** Returns true if field dataBlockEncoding is set (has been assigned a value) and false otherwise */
+  public boolean isSetDataBlockEncoding() {
+    return this.dataBlockEncoding != null;
+  }
+
+  public void setDataBlockEncodingIsSet(boolean value) {
+    if (!value) {
+      this.dataBlockEncoding = null;
+    }
+  }
+
+  /**
+   * 
+   * @see TKeepDeletedCells
+   */
+  public TKeepDeletedCells getKeepDeletedCells() {
+    return this.keepDeletedCells;
+  }
+
+  /**
+   * 
+   * @see TKeepDeletedCells
+   */
+  public TColumnFamilyDescriptor setKeepDeletedCells(TKeepDeletedCells keepDeletedCells) {
+    this.keepDeletedCells = keepDeletedCells;
+    return this;
+  }
+
+  public void unsetKeepDeletedCells() {
+    this.keepDeletedCells = null;
+  }
+
+  /** Returns true if field keepDeletedCells is set (has been assigned a value) and false otherwise */
+  public boolean isSetKeepDeletedCells() {
+    return this.keepDeletedCells != null;
+  }
+
+  public void setKeepDeletedCellsIsSet(boolean value) {
+    if (!value) {
+      this.keepDeletedCells = null;
+    }
+  }
+
+  public int getMaxVersions() {
+    return this.maxVersions;
+  }
+
+  public TColumnFamilyDescriptor setMaxVersions(int maxVersions) {
+    this.maxVersions = maxVersions;
+    setMaxVersionsIsSet(true);
+    return this;
+  }
+
+  public void unsetMaxVersions() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAXVERSIONS_ISSET_ID);
+  }
+
+  /** Returns true if field maxVersions is set (has been assigned a value) and false otherwise */
+  public boolean isSetMaxVersions() {
+    return EncodingUtils.testBit(__isset_bitfield, __MAXVERSIONS_ISSET_ID);
+  }
+
+  public void setMaxVersionsIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXVERSIONS_ISSET_ID, value);
+  }
+
+  public int getMinVersions() {
+    return this.minVersions;
+  }
+
+  public TColumnFamilyDescriptor setMinVersions(int minVersions) {
+    this.minVersions = minVersions;
+    setMinVersionsIsSet(true);
+    return this;
+  }
+
+  public void unsetMinVersions() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MINVERSIONS_ISSET_ID);
+  }
+
+  /** Returns true if field minVersions is set (has been assigned a value) and false otherwise */
+  public boolean isSetMinVersions() {
+    return EncodingUtils.testBit(__isset_bitfield, __MINVERSIONS_ISSET_ID);
+  }
+
+  public void setMinVersionsIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MINVERSIONS_ISSET_ID, value);
+  }
+
+  public int getScope() {
+    return this.scope;
+  }
+
+  public TColumnFamilyDescriptor setScope(int scope) {
+    this.scope = scope;
+    setScopeIsSet(true);
+    return this;
+  }
+
+  public void unsetScope() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SCOPE_ISSET_ID);
+  }
+
+  /** Returns true if field scope is set (has been assigned a value) and false otherwise */
+  public boolean isSetScope() {
+    return EncodingUtils.testBit(__isset_bitfield, __SCOPE_ISSET_ID);
+  }
+
+  public void setScopeIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SCOPE_ISSET_ID, value);
+  }
+
+  public int getTimeToLive() {
+    return this.timeToLive;
+  }
+
+  public TColumnFamilyDescriptor setTimeToLive(int timeToLive) {
+    this.timeToLive = timeToLive;
+    setTimeToLiveIsSet(true);
+    return this;
+  }
+
+  public void unsetTimeToLive() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMETOLIVE_ISSET_ID);
+  }
+
+  /** Returns true if field timeToLive is set (has been assigned a value) and false otherwise */
+  public boolean isSetTimeToLive() {
+    return EncodingUtils.testBit(__isset_bitfield, __TIMETOLIVE_ISSET_ID);
+  }
+
+  public void setTimeToLiveIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMETOLIVE_ISSET_ID, value);
+  }
+
+  public boolean isBlockCacheEnabled() {
+    return this.blockCacheEnabled;
+  }
+
+  public TColumnFamilyDescriptor setBlockCacheEnabled(boolean blockCacheEnabled) {
+    this.blockCacheEnabled = blockCacheEnabled;
+    setBlockCacheEnabledIsSet(true);
+    return this;
+  }
+
+  public void unsetBlockCacheEnabled() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __BLOCKCACHEENABLED_ISSET_ID);
+  }
+
+  /** Returns true if field blockCacheEnabled is set (has been assigned a value) and false otherwise */
+  public boolean isSetBlockCacheEnabled() {
+    return EncodingUtils.testBit(__isset_bitfield, __BLOCKCACHEENABLED_ISSET_ID);
+  }
+
+  public void setBlockCacheEnabledIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __BLOCKCACHEENABLED_ISSET_ID, value);
+  }
+
+  public boolean isCacheBloomsOnWrite() {
+    return this.cacheBloomsOnWrite;
+  }
+
+  public TColumnFamilyDescriptor setCacheBloomsOnWrite(boolean cacheBloomsOnWrite) {
+    this.cacheBloomsOnWrite = cacheBloomsOnWrite;
+    setCacheBloomsOnWriteIsSet(true);
+    return this;
+  }
+
+  public void unsetCacheBloomsOnWrite() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CACHEBLOOMSONWRITE_ISSET_ID);
+  }
+
+  /** Returns true if field cacheBloomsOnWrite is set (has been assigned a value) and false otherwise */
+  public boolean isSetCacheBloomsOnWrite() {
+    return EncodingUtils.testBit(__isset_bitfield, __CACHEBLOOMSONWRITE_ISSET_ID);
+  }
+
+  public void setCacheBloomsOnWriteIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CACHEBLOOMSONWRITE_ISSET_ID, value);
+  }
+
+  public boolean isCacheDataOnWrite() {
+    return this.cacheDataOnWrite;
+  }
+
+  public TColumnFamilyDescriptor setCacheDataOnWrite(boolean cacheDataOnWrite) {
+    this.cacheDataOnWrite = cacheDataOnWrite;
+    setCacheDataOnWriteIsSet(true);
+    return this;
+  }
+
+  public void unsetCacheDataOnWrite() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CACHEDATAONWRITE_ISSET_ID);
+  }
+
+  /** Returns true if field cacheDataOnWrite is set (has been assigned a value) and false otherwise */
+  public boolean isSetCacheDataOnWrite() {
+    return EncodingUtils.testBit(__isset_bitfield, __CACHEDATAONWRITE_ISSET_ID);
+  }
+
+  public void setCacheDataOnWriteIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CACHEDATAONWRITE_ISSET_ID, value);
+  }
+
+  public boolean isCacheIndexesOnWrite() {
+    return this.cacheIndexesOnWrite;
+  }
+
+  public TColumnFamilyDescriptor setCacheIndexesOnWrite(boolean cacheIndexesOnWrite) {
+    this.cacheIndexesOnWrite = cacheIndexesOnWrite;
+    setCacheIndexesOnWriteIsSet(true);
+    return this;
+  }
+
+  public void unsetCacheIndexesOnWrite() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CACHEINDEXESONWRITE_ISSET_ID);
+  }
+
+  /** Returns true if field cacheIndexesOnWrite is set (has been assigned a value) and false otherwise */
+  public boolean isSetCacheIndexesOnWrite() {
+    return EncodingUtils.testBit(__isset_bitfield, __CACHEINDEXESONWRITE_ISSET_ID);
+  }
+
+  public void setCacheIndexesOnWriteIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CACHEINDEXESONWRITE_ISSET_ID, value);
+  }
+
+  public boolean isCompressTags() {
+    return this.compressTags;
+  }
+
+  public TColumnFamilyDescriptor setCompressTags(boolean compressTags) {
+    this.compressTags = compressTags;
+    setCompressTagsIsSet(true);
+    return this;
+  }
+
+  public void unsetCompressTags() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __COMPRESSTAGS_ISSET_ID);
+  }
+
+  /** Returns true if field compressTags is set (has been assigned a value) and false otherwise */
+  public boolean isSetCompressTags() {
+    return EncodingUtils.testBit(__isset_bitfield, __COMPRESSTAGS_ISSET_ID);
+  }
+
+  public void setCompressTagsIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __COMPRESSTAGS_ISSET_ID, value);
+  }
+
+  public boolean isEvictBlocksOnClose() {
+    return this.evictBlocksOnClose;
+  }
+
+  public TColumnFamilyDescriptor setEvictBlocksOnClose(boolean evictBlocksOnClose) {
+    this.evictBlocksOnClose = evictBlocksOnClose;
+    setEvictBlocksOnCloseIsSet(true);
+    return this;
+  }
+
+  public void unsetEvictBlocksOnClose() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __EVICTBLOCKSONCLOSE_ISSET_ID);
+  }
+
+  /** Returns true if field evictBlocksOnClose is set (has been assigned a value) and false otherwise */
+  public boolean isSetEvictBlocksOnClose() {
+    return EncodingUtils.testBit(__isset_bitfield, __EVICTBLOCKSONCLOSE_ISSET_ID);
+  }
+
+  public void setEvictBlocksOnCloseIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __EVICTBLOCKSONCLOSE_ISSET_ID, value);
+  }
+
+  public boolean isInMemory() {
+    return this.inMemory;
+  }
+
+  public TColumnFamilyDescriptor setInMemory(boolean inMemory) {
+    this.inMemory = inMemory;
+    setInMemoryIsSet(true);
+    return this;
+  }
+
+  public void unsetInMemory() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __INMEMORY_ISSET_ID);
+  }
+
+  /** Returns true if field inMemory is set (has been assigned a value) and false otherwise */
+  public boolean isSetInMemory() {
+    return EncodingUtils.testBit(__isset_bitfield, __INMEMORY_ISSET_ID);
+  }
+
+  public void setInMemoryIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __INMEMORY_ISSET_ID, value);
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case NAME:
+      if (value == null) {
+        unsetName();
+      } else {
+        setName((ByteBuffer)value);
+      }
+      break;
+
+    case ATTRIBUTES:
+      if (value == null) {
+        unsetAttributes();
+      } else {
+        setAttributes((Map<ByteBuffer,ByteBuffer>)value);
+      }
+      break;
+
+    case CONFIGURATION:
+      if (value == null) {
+        unsetConfiguration();
+      } else {
+        setConfiguration((Map<String,String>)value);
+      }
+      break;
+
+    case BLOCK_SIZE:
+      if (value == null) {
+        unsetBlockSize();
+      } else {
+        setBlockSize((Integer)value);
+      }
+      break;
+
+    case BLOOMN_FILTER_TYPE:
+      if (value == null) {
+        unsetBloomnFilterType();
+      } else {
+        setBloomnFilterType((TBloomFilterType)value);
+      }
+      break;
+
+    case COMPRESSION_TYPE:
+      if (value == null) {
+        unsetCompressionType();
+      } else {
+        setCompressionType((TCompressionAlgorithm)value);
+      }
+      break;
+
+    case DFS_REPLICATION:
+      if (value == null) {
+        unsetDfsReplication();
+      } else {
+        setDfsReplication((Short)value);
+      }
+      break;
+
+    case DATA_BLOCK_ENCODING:
+      if (value == null) {
+        unsetDataBlockEncoding();
+      } else {
+        setDataBlockEncoding((TDataBlockEncoding)value);
+      }
+      break;
+
+    case KEEP_DELETED_CELLS:
+      if (value == null) {
+        unsetKeepDeletedCells();
+      } else {
+        setKeepDeletedCells((TKeepDeletedCells)value);
+      }
+      break;
+
+    case MAX_VERSIONS:
+      if (value == null) {
+        unsetMaxVersions();
+      } else {
+        setMaxVersions((Integer)value);
+      }
+      break;
+
+    case MIN_VERSIONS:
+      if (value == null) {
+        unsetMinVersions();
+      } else {
+        setMinVersions((Integer)value);
+      }
+      break;
+
+    case SCOPE:
+      if (value == null) {
+        unsetScope();
+      } else {
+        setScope((Integer)value);
+      }
+      break;
+
+    case TIME_TO_LIVE:
+      if (value == null) {
+        unsetTimeToLive();
+      } else {
+        setTimeToLive((Integer)value);
+      }
+      break;
+
+    case BLOCK_CACHE_ENABLED:
+      if (value == null) {
+        unsetBlockCacheEnabled();
+      } else {
+        setBlockCacheEnabled((Boolean)value);
+      }
+      break;
+
+    case CACHE_BLOOMS_ON_WRITE:
+      if (value == null) {
+        unsetCacheBloomsOnWrite();
+      } else {
+        setCacheBloomsOnWrite((Boolean)value);
+      }
+      break;
+
+    case CACHE_DATA_ON_WRITE:
+      if (value == null) {
+        unsetCacheDataOnWrite();
+      } else {
+        setCacheDataOnWrite((Boolean)value);
+      }
+      break;
+
+    case CACHE_INDEXES_ON_WRITE:
+      if (value == null) {
+        unsetCacheIndexesOnWrite();
+      } else {
+        setCacheIndexesOnWrite((Boolean)value);
+      }
+      break;
+
+    case COMPRESS_TAGS:
+      if (value == null) {
+        unsetCompressTags();
+      } else {
+        setCompressTags((Boolean)value);
+      }
+      break;
+
+    case EVICT_BLOCKS_ON_CLOSE:
+      if (value == null) {
+        unsetEvictBlocksOnClose();
+      } else {
+        setEvictBlocksOnClose((Boolean)value);
+      }
+      break;
+
+    case IN_MEMORY:
+      if (value == null) {
+        unsetInMemory();
+      } else {
+        setInMemory((Boolean)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case NAME:
+      return getName();
+
+    case ATTRIBUTES:
+      return getAttributes();
+
+    case CONFIGURATION:
+      return getConfiguration();
+
+    case BLOCK_SIZE:
+      return getBlockSize();
+
+    case BLOOMN_FILTER_TYPE:
+      return getBloomnFilterType();
+
+    case COMPRESSION_TYPE:
+      return getCompressionType();
+
+    case DFS_REPLICATION:
+      return getDfsReplication();
+
+    case DATA_BLOCK_ENCODING:
+      return getDataBlockEncoding();
+
+    case KEEP_DELETED_CELLS:
+      return getKeepDeletedCells();
+
+    case MAX_VERSIONS:
+      return getMaxVersions();
+
+    case MIN_VERSIONS:
+      return getMinVersions();
+
+    case SCOPE:
+      return getScope();
+
+    case TIME_TO_LIVE:
+      return getTimeToLive();
+
+    case BLOCK_CACHE_ENABLED:
+      return isBlockCacheEnabled();
+
+    case CACHE_BLOOMS_ON_WRITE:
+      return isCacheBloomsOnWrite();
+
+    case CACHE_DATA_ON_WRITE:
+      return isCacheDataOnWrite();
+
+    case CACHE_INDEXES_ON_WRITE:
+      return isCacheIndexesOnWrite();
+
+    case COMPRESS_TAGS:
+      return isCompressTags();
+
+    case EVICT_BLOCKS_ON_CLOSE:
+      return isEvictBlocksOnClose();
+
+    case IN_MEMORY:
+      return isInMemory();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case NAME:
+      return isSetName();
+    case ATTRIBUTES:
+      return isSetAttributes();
+    case CONFIGURATION:
+      return isSetConfiguration();
+    case BLOCK_SIZE:
+      return isSetBlockSize();
+    case BLOOMN_FILTER_TYPE:
+      return isSetBloomnFilterType();
+    case COMPRESSION_TYPE:
+      return isSetCompressionType();
+    case DFS_REPLICATION:
+      return isSetDfsReplication();
+    case DATA_BLOCK_ENCODING:
+      return isSetDataBlockEncoding();
+    case KEEP_DELETED_CELLS:
+      return isSetKeepDeletedCells();
+    case MAX_VERSIONS:
+      return isSetMaxVersions();
+    case MIN_VERSIONS:
+      return isSetMinVersions();
+    case SCOPE:
+      return isSetScope();
+    case TIME_TO_LIVE:
+      return isSetTimeToLive();
+    case BLOCK_CACHE_ENABLED:
+      return isSetBlockCacheEnabled();
+    case CACHE_BLOOMS_ON_WRITE:
+      return isSetCacheBloomsOnWrite();
+    case CACHE_DATA_ON_WRITE:
+      return isSetCacheDataOnWrite();
+    case CACHE_INDEXES_ON_WRITE:
+      return isSetCacheIndexesOnWrite();
+    case COMPRESS_TAGS:
+      return isSetCompressTags();
+    case EVICT_BLOCKS_ON_CLOSE:
+      return isSetEvictBlocksOnClose();
+    case IN_MEMORY:
+      return isSetInMemory();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof TColumnFamilyDescriptor)
+      return this.equals((TColumnFamilyDescriptor)that);
+    return false;
+  }
+
+  public boolean equals(TColumnFamilyDescriptor that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_name = true && this.isSetName();
+    boolean that_present_name = true && that.isSetName();
+    if (this_present_name || that_present_name) {
+      if (!(this_present_name && that_present_name))
+        return false;
+      if (!this.name.equals(that.name))
+        return false;
+    }
+
+    boolean this_present_attributes = true && this.isSetAttributes();
+    boolean that_present_attributes = true && that.isSetAttributes();
+    if (this_present_attributes || that_present_attributes) {
+      if (!(this_present_attributes && that_present_attributes))
+        return false;
+      if (!this.attributes.equals(that.attributes))
+        return false;
+    }
+
+    boolean this_present_configuration = true && this.isSetConfiguration();
+    boolean that_present_configuration = true && that.isSetConfiguration();
+    if (this_present_configuration || that_present_configuration) {
+      if (!(this_present_configuration && that_present_configuration))
+        return false;
+      if (!this.configuration.equals(that.configuration))
+        return false;
+    }
+
+    boolean this_present_blockSize = true && this.isSetBlockSize();
+    boolean that_present_blockSize = true && that.isSetBlockSize();
+    if (this_present_blockSize || that_present_blockSize) {
+      if (!(this_present_blockSize && that_present_blockSize))
+        return false;
+      if (this.blockSize != that.blockSize)
+        return false;
+    }
+
+    boolean this_present_bloomnFilterType = true && this.isSetBloomnFilterType();
+    boolean that_present_bloomnFilterType = true && that.isSetBloomnFilterType();
+    if (this_present_bloomnFilterType || that_present_bloomnFilterType) {
+      if (!(this_present_bloomnFilterType && that_present_bloomnFilterType))
+        return false;
+      if (!this.bloomnFilterType.equals(that.bloomnFilterType))
+        return false;
+    }
+
+    boolean this_present_compressionType = true && this.isSetCompressionType();
+    boolean that_present_compressionType = true && that.isSetCompressionType();
+    if (this_present_compressionType || that_present_compressionType) {
+      if (!(this_present_compressionType && that_present_compressionType))
+        return false;
+      if (!this.compressionType.equals(that.compressionType))
+        return false;
+    }
+
+    boolean this_present_dfsReplication = true && this.isSetDfsReplication();
+    boolean that_present_dfsReplication = true && that.isSetDfsReplication();
+    if (this_present_dfsReplication || that_present_dfsReplication) {
+      if (!(this_present_dfsReplication && that_present_dfsReplication))
+        return false;
+      if (this.dfsReplication != that.dfsReplication)
+        return false;
+    }
+
+    boolean this_present_dataBlockEncoding = true && this.isSetDataBlockEncoding();
+    boolean that_present_dataBlockEncoding = true && that.isSetDataBlockEncoding();
+    if (this_present_dataBlockEncoding || that_present_dataBlockEncoding) {
+      if (!(this_present_dataBlockEncoding && that_present_dataBlockEncoding))
+        return false;
+      if (!this.dataBlockEncoding.equals(that.dataBlockEncoding))
+        return false;
+    }
+
+    boolean this_present_keepDeletedCells = true && this.isSetKeepDeletedCells();
+    boolean that_present_keepDeletedCells = true && that.isSetKeepDeletedCells();
+    if (this_present_keepDeletedCells || that_present_keepDeletedCells) {
+      if (!(this_present_keepDeletedCells && that_present_keepDeletedCells))
+        return false;
+      if (!this.keepDeletedCells.equals(that.keepDeletedCells))
+        return false;
+    }
+
+    boolean this_present_maxVersions = true && this.isSetMaxVersions();
+    boolean that_present_maxVersions = true && that.isSetMaxVersions();
+    if (this_present_maxVersions || that_present_maxVersions) {
+      if (!(this_present_maxVersions && that_present_maxVersions))
+        return false;
+      if (this.maxVersions != that.maxVersions)
+        return false;
+    }
+
+    boolean this_present_minVersions = true && this.isSetMinVersions();
+    boolean that_present_minVersions = true && that.isSetMinVersions();
+    if (this_present_minVersions || that_present_minVersions) {
+      if (!(this_present_minVersions && that_present_minVersions))
+        return false;
+      if (this.minVersions != that.minVersions)
+        return false;
+    }
+
+    boolean this_present_scope = true && this.isSetScope();
+    boolean that_present_scope = true && that.isSetScope();
+    if (this_present_scope || that_present_scope) {
+      if (!(this_present_scope && that_present_scope))
+        return false;
+      if (this.scope != that.scope)
+        return false;
+    }
+
+    boolean this_present_timeToLive = true && this.isSetTimeToLive();
+    boolean that_present_timeToLive = true && that.isSetTimeToLive();
+    if (this_present_timeToLive || that_present_timeToLive) {
+      if (!(this_present_timeToLive && that_present_timeToLive))
+        return false;
+      if (this.timeToLive != that.timeToLive)
+        return false;
+    }
+
+    boolean this_present_blockCacheEnabled = true && this.isSetBlockCacheEnabled();
+    boolean that_present_blockCacheEnabled = true && that.isSetBlockCacheEnabled();
+    if (this_present_blockCacheEnabled || that_present_blockCacheEnabled) {
+      if (!(this_present_blockCacheEnabled && that_present_blockCacheEnabled))
+        return false;
+      if (this.blockCacheEnabled != that.blockCacheEnabled)
+        return false;
+    }
+
+    boolean this_present_cacheBloomsOnWrite = true && this.isSetCacheBloomsOnWrite();
+    boolean that_present_cacheBloomsOnWrite = true && that.isSetCacheBloomsOnWrite();
+    if (this_present_cacheBloomsOnWrite || that_present_cacheBloomsOnWrite) {
+      if (!(this_present_cacheBloomsOnWrite && that_present_cacheBloomsOnWrite))
+        return false;
+      if (this.cacheBloomsOnWrite != that.cacheBloomsOnWrite)
+        return false;
+    }
+
+    boolean this_present_cacheDataOnWrite = true && this.isSetCacheDataOnWrite();
+    boolean that_present_cacheDataOnWrite = true && that.isSetCacheDataOnWrite();
+    if (this_present_cacheDataOnWrite || that_present_cacheDataOnWrite) {
+      if (!(this_present_cacheDataOnWrite && that_present_cacheDataOnWrite))
+        return false;
+      if (this.cacheDataOnWrite != that.cacheDataOnWrite)
+        return false;
+    }
+
+    boolean this_present_cacheIndexesOnWrite = true && this.isSetCacheIndexesOnWrite();
+    boolean that_present_cacheIndexesOnWrite = true && that.isSetCacheIndexesOnWrite();
+    if (this_present_cacheIndexesOnWrite || that_present_cacheIndexesOnWrite) {
+      if (!(this_present_cacheIndexesOnWrite && that_present_cacheIndexesOnWrite))
+        return false;
+      if (this.cacheIndexesOnWrite != that.cacheIndexesOnWrite)
+        return false;
+    }
+
+    boolean this_present_compressTags = true && this.isSetCompressTags();
+    boolean that_present_compressTags = true && that.isSetCompressTags();
+    if (this_present_compressTags || that_present_compressTags) {
+      if (!(this_present_compressTags && that_present_compressTags))
+        return false;
+      if (this.compressTags != that.compressTags)
+        return false;
+    }
+
+    boolean this_present_evictBlocksOnClose = true && this.isSetEvictBlocksOnClose();
+    boolean that_present_evictBlocksOnClose = true && that.isSetEvictBlocksOnClose();
+    if (this_present_evictBlocksOnClose || that_present_evictBlocksOnClose) {
+      if (!(this_present_evictBlocksOnClose && that_present_evictBlocksOnClose))
+        return false;
+      if (this.evictBlocksOnClose != that.evictBlocksOnClose)
+        return false;
+    }
+
+    boolean this_present_inMemory = true && this.isSetInMemory();
+    boolean that_present_inMemory = true && that.isSetInMemory();
+    if (this_present_inMemory || that_present_inMemory) {
+      if (!(this_present_inMemory && that_present_inMemory))
+        return false;
+      if (this.inMemory != that.inMemory)
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_name = true && (isSetName());
+    list.add(present_name);
+    if (present_name)
+      list.add(name);
+
+    boolean present_attributes = true && (isSetAttributes());
+    list.add(present_attributes);
+    if (present_attributes)
+      list.add(attributes);
+
+    boolean present_configuration = true && (isSetConfiguration());
+    list.add(present_configuration);
+    if (present_configuration)
+      list.add(configuration);
+
+    boolean present_blockSize = true && (isSetBlockSize());
+    list.add(present_blockSize);
+    if (present_blockSize)
+      list.add(blockSize);
+
+    boolean present_bloomnFilterType = true && (isSetBloomnFilterType());
+    list.add(present_bloomnFilterType);
+    if (present_bloomnFilterType)
+      list.add(bloomnFilterType.getValue());
+
+    boolean present_compressionType = true && (isSetCompressionType());
+    list.add(present_compressionType);
+    if (present_compressionType)
+      list.add(compressionType.getValue());
+
+    boolean present_dfsReplication = true && (isSetDfsReplication());
+    list.add(present_dfsReplication);
+    if (present_dfsReplication)
+      list.add(dfsReplication);
+
+    boolean present_dataBlockEncoding = true && (isSetDataBlockEncoding());
+    list.add(present_dataBlockEncoding);
+    if (present_dataBlockEncoding)
+      list.add(dataBlockEncoding.getValue());
+
+    boolean present_keepDeletedCells = true && (isSetKeepDeletedCells());
+    list.add(present_keepDeletedCells);
+    if (present_keepDeletedCells)
+      list.add(keepDeletedCells.getValue());
+
+    boolean present_maxVersions = true && (isSetMaxVersions());
+    list.add(present_maxVersions);
+    if (present_maxVersions)
+      list.add(maxVersions);
+
+    boolean present_minVersions = true && (isSetMinVersions());
+    list.add(present_minVersions);
+    if (present_minVersions)
+      list.add(minVersions);
+
+    boolean present_scope = true && (isSetScope());
+    list.add(present_scope);
+    if (present_scope)
+      list.add(scope);
+
+    boolean present_timeToLive = true && (isSetTimeToLive());
+    list.add(present_timeToLive);
+    if (present_timeToLive)
+      list.add(timeToLive);
+
+    boolean present_blockCacheEnabled = true && (isSetBlockCacheEnabled());
+    list.add(present_blockCacheEnabled);
+    if (present_blockCacheEnabled)
+      list.add(blockCacheEnabled);
+
+    boolean present_cacheBloomsOnWrite = true && (isSetCacheBloomsOnWrite());
+    list.add(present_cacheBloomsOnWrite);
+    if (present_cacheBloomsOnWrite)
+      list.add(cacheBloomsOnWrite);
+
+    boolean present_cacheDataOnWrite = true && (isSetCacheDataOnWrite());
+    list.add(present_cacheDataOnWrite);
+    if (present_cacheDataOnWrite)
+      list.add(cacheDataOnWrite);
+
+    boolean present_cacheIndexesOnWrite = true && (isSetCacheIndexesOnWrite());
+    list.add(present_cacheIndexesOnWrite);
+    if (present_cacheIndexesOnWrite)
+      list.add(cacheIndexesOnWrite);
+
+    boolean present_compressTags = true && (isSetCompressTags());
+    list.add(present_compressTags);
+    if (present_compressTags)
+      list.add(compressTags);
+
+    boolean present_evictBlocksOnClose = true && (isSetEvictBlocksOnClose());
+    list.add(present_evictBlocksOnClose);
+    if (present_evictBlocksOnClose)
+      list.add(evictBlocksOnClose);
+
+    boolean present_inMemory = true && (isSetInMemory());
+    list.add(present_inMemory);
+    if (present_inMemory)
+      list.add(inMemory);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(TColumnFamilyDescriptor other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetAttributes()).compareTo(other.isSetAttributes());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetAttributes()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.attributes, other.attributes);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetConfiguration()).compareTo(other.isSetConfiguration());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetConfiguration()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.configuration, other.configuration);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetBlockSize()).compareTo(other.isSetBlockSize());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetBlockSize()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.blockSize, other.blockSize);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetBloomnFilterType()).compareTo(other.isSetBloomnFilterType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetBloomnFilterType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.bloomnFilterType, other.bloomnFilterType);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetCompressionType()).compareTo(other.isSetCompressionType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCompressionType()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.compressionType, other.compressionType);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDfsReplication()).compareTo(other.isSetDfsReplication());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDfsReplication()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dfsReplication, other.dfsReplication);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDataBlockEncoding()).compareTo(other.isSetDataBlockEncoding());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDataBlockEncoding()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dataBlockEncoding, other.dataBlockEncoding);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetKeepDeletedCells()).compareTo(other.isSetKeepDeletedCells());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetKeepDeletedCells()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.keepDeletedCells, other.keepDeletedCells);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetMaxVersions()).compareTo(other.isSetMaxVersions());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetMaxVersions()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxVersions, other.maxVersions);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetMinVersions()).compareTo(other.isSetMinVersions());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetMinVersions()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.minVersions, other.minVersions);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetScope()).compareTo(other.isSetScope());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetScope()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.scope, other.scope);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTimeToLive()).compareTo(other.isSetTimeToLive());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTimeToLive()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeToLive, other.timeToLive);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetBlockCacheEnabled()).compareTo(other.isSetBlockCacheEnabled());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetBlockCacheEnabled()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.blockCacheEnabled, other.blockCacheEnabled);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetCacheBloomsOnWrite()).compareTo(other.isSetCacheBloomsOnWrite());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCacheBloomsOnWrite()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cacheBloomsOnWrite, other.cacheBloomsOnWrite);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetCacheDataOnWrite()).compareTo(other.isSetCacheDataOnWrite());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCacheDataOnWrite()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cacheDataOnWrite, other.cacheDataOnWrite);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetCacheIndexesOnWrite()).compareTo(other.isSetCacheIndexesOnWrite());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCacheIndexesOnWrite()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cacheIndexesOnWrite, other.cacheIndexesOnWrite);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetCompressTags()).compareTo(other.isSetCompressTags());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCompressTags()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.compressTags, other.compressTags);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetEvictBlocksOnClose()).compareTo(other.isSetEvictBlocksOnClose());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetEvictBlocksOnClose()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.evictBlocksOnClose, other.evictBlocksOnClose);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetInMemory()).compareTo(other.isSetInMemory());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetInMemory()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.inMemory, other.inMemory);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("TColumnFamilyDescriptor(");
+    boolean first = true;
+
+    sb.append("name:");
+    if (this.name == null) {
+      sb.append("null");
+    } else {
+      org.apache.thrift.TBaseHelper.toString(this.name, sb);
+    }
+    first = false;
+    if (isSetAttributes()) {
+      if (!first) sb.append(", ");
+      sb.append("attributes:");
+      if (this.attributes == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.attributes);
+      }
+      first = false;
+    }
+    if (isSetConfiguration()) {
+      if (!first) sb.append(", ");
+      sb.append("configuration:");
+      if (this.configuration == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.configuration);
+      }
+      first = false;
+    }
+    if (isSetBlockSize()) {
+      if (!first) sb.append(", ");
+      sb.append("blockSize:");
+      sb.append(this.blockSize);
+      first = false;
+    }
+    if (isSetBloomnFilterType()) {
+      if (!first) sb.append(", ");
+      sb.append("bloomnFilterType:");
+      if (this.bloomnFilterType == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.bloomnFilterType);
+      }
+      first = false;
+    }
+    if (isSetCompressionType()) {
+      if (!first) sb.append(", ");
+      sb.append("compressionType:");
+      if (this.compressionType == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.compressionType);
+      }
+      first = false;
+    }
+    if (isSetDfsReplication()) {
+      if (!first) sb.append(", ");
+      sb.append("dfsReplication:");
+      sb.append(this.dfsReplication);
+      first = false;
+    }
+    if (isSetDataBlockEncoding()) {
+      if (!first) sb.append(", ");
+      sb.append("dataBlockEncoding:");
+      if (this.dataBlockEncoding == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.dataBlockEncoding);
+      }
+      first = false;
+    }
+    if (isSetKeepDeletedCells()) {
+      if (!first) sb.append(", ");
+      sb.append("keepDeletedCells:");
+      if (this.keepDeletedCells == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.keepDeletedCells);
+      }
+      first = false;
+    }
+    if (isSetMaxVersions()) {
+      if (!first) sb.append(", ");
+      sb.append("maxVersions:");
+      sb.append(this.maxVersions);
+      first = false;
+    }
+    if (isSetMinVersions()) {
+      if (!first) sb.append(", ");
+      sb.append("minVersions:");
+      sb.append(this.minVersions);
+      first = false;
+    }
+    if (isSetScope()) {
+      if (!first) sb.append(", ");
+      sb.append("scope:");
+      sb.append(this.scope);
+      first = false;
+    }
+    if (isSetTimeToLive()) {
+      if (!first) sb.append(", ");
+      sb.append("timeToLive:");
+      sb.append(this.timeToLive);
+      first = false;
+    }
+    if (isSetBlockCacheEnabled()) {
+      if (!first) sb.append(", ");
+      sb.append("blockCacheEnabled:");
+      sb.append(this.blockCacheEnabled);
+      first = false;
+    }
+    if (isSetCacheBloomsOnWrite()) {
+      if (!first) sb.append(", ");
+      sb.append("cacheBloomsOnWrite:");
+      sb.append(this.cacheBloomsOnWrite);
+      first = false;
+    }
+    if (isSetCacheDataOnWrite()) {
+      if (!first) sb.append(", ");
+      sb.append("cacheDataOnWrite:");
+      sb.append(this.cacheDataOnWrite);
+      first = false;
+    }
+    if (isSetCacheIndexesOnWrite()) {
+      if (!first) sb.append(", ");
+      sb.append("cacheIndexesOnWrite:");
+      sb.append(this.cacheIndexesOnWrite);
+      first = false;
+    }
+    if (isSetCompressTags()) {
+      if (!first) sb.append(", ");
+      sb.append("compressTags:");
+      sb.append(this.compressTags);
+      first = false;
+    }
+    if (isSetEvictBlocksOnClose()) {
+      if (!first) sb.append(", ");
+      sb.append("evictBlocksOnClose:");
+      sb.append(this.evictBlocksOnClose);
+      first = false;
+    }
+    if (isSetInMemory()) {
+      if (!first) sb.append(", ");
+      sb.append("inMemory:");
+      sb.append(this.inMemory);
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (name == null) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' was not present! Struct: " + toString());
+    }
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+      __isset_bitfield = 0;
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class TColumnFamilyDescriptorStandardSchemeFactory implements SchemeFactory {
+    public TColumnFamilyDescriptorStandardScheme getScheme() {
+      return new TColumnFamilyDescriptorStandardScheme();
+    }
+  }
+
+  private static class TColumnFamilyDescriptorStandardScheme extends StandardScheme<TColumnFamilyDescriptor> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, TColumnFamilyDescriptor struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.name = iprot.readBinary();
+              struct.setNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // ATTRIBUTES
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map142 = iprot.readMapBegin();
+                struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map142.size);
+                ByteBuffer _key143;
+                ByteBuffer _val144;
+                for (int _i145 = 0; _i145 < _map142.size; ++_i145)
+                {
+                  _key143 = iprot.readBinary();
+                  _val144 = iprot.readBinary();
+                  struct.attributes.put(_key143, _val144);
+                }
+                iprot.readMapEnd();
+              }
+              struct.setAttributesIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // CONFIGURATION
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map146 = iprot.readMapBegin();
+                struct.configuration = new HashMap<String,String>(2*_map146.size);
+                String _key147;
+                String _val148;
+                for (int _i149 = 0; _i149 < _map146.size; ++_i149)
+                {
+                  _key147 = iprot.readString();
+                  _val148 = iprot.readString();
+                  struct.configuration.put(_key147, _val148);
+                }
+                iprot.readMapEnd();
+              }
+              struct.setConfigurationIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // BLOCK_SIZE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.blockSize = iprot.readI32();
+              struct.setBlockSizeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // BLOOMN_FILTER_TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.bloomnFilterType = org.apache.hadoop.hbase.thrift2.generated.TBloomFilterType.findByValue(iprot.readI32());
+              struct.setBloomnFilterTypeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // COMPRESSION_TYPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.compressionType = org.apache.hadoop.hbase.thrift2.generated.TCompressionAlgorithm.findByValue(iprot.readI32());
+              struct.setCompressionTypeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // DFS_REPLICATION
+            if (schemeField.type == org.apache.thrift.protocol.TType.I16) {
+              struct.dfsReplication = iprot.readI16();
+              struct.setDfsReplicationIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // DATA_BLOCK_ENCODING
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.dataBlockEncoding = org.apache.hadoop.hbase.thrift2.generated.TDataBlockEncoding.findByValue(iprot.readI32());
+              struct.setDataBlockEncodingIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 9: // KEEP_DELETED_CELLS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.keepDeletedCells = org.apache.hadoop.hbase.thrift2.generated.TKeepDeletedCells.findByValue(iprot.readI32());
+              struct.setKeepDeletedCellsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // MAX_VERSIONS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.maxVersions = iprot.readI32();
+              struct.setMaxVersionsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 11: // MIN_VERSIONS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.minVersions = iprot.readI32();
+              struct.setMinVersionsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 12: // SCOPE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.scope = iprot.readI32();
+              struct.setScopeIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 13: // TIME_TO_LIVE
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.timeToLive = iprot.readI32();
+              struct.setTimeToLiveIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 14: // BLOCK_CACHE_ENABLED
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.blockCacheEnabled = iprot.readBool();
+              struct.setBlockCacheEnabledIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 15: // CACHE_BLOOMS_ON_WRITE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.cacheBloomsOnWrite = iprot.readBool();
+              struct.setCacheBloomsOnWriteIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 16: // CACHE_DATA_ON_WRITE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.cacheDataOnWrite = iprot.readBool();
+              struct.setCacheDataOnWriteIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 17: // CACHE_INDEXES_ON_WRITE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.cacheIndexesOnWrite = iprot.readBool();
+              struct.setCacheIndexesOnWriteIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 18: // COMPRESS_TAGS
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.compressTags = iprot.readBool();
+              struct.setCompressTagsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 19: // EVICT_BLOCKS_ON_CLOSE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.evictBlocksOnClose = iprot.readBool();
+              struct.setEvictBlocksOnCloseIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 20: // IN_MEMORY
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.inMemory = iprot.readBool();
+              struct.setInMemoryIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, TColumnFamilyDescriptor struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.name != null) {
+        oprot.writeFieldBegin(NAME_FIELD_DESC);
+        oprot.writeBinary(struct.name);
+        oprot.writeFieldEnd();
+      }
+      if (struct.attributes != null) {
+        if (struct.isSetAttributes()) {
+          oprot.writeFieldBegin(ATTRIBUTES_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.attributes.size()));
+            for (Map.Entry<ByteBuffer, ByteBuffer> _iter150 : struct.attributes.entrySet())
+            {
+              oprot.writeBinary(_iter150.getKey());
+              oprot.writeBinary(_iter150.getValue());
+            }
+            oprot.writeMapEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.configuration != null) {
+        if (struct.isSetConfiguration()) {
+          oprot.writeFieldBegin(CONFIGURATION_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.configuration.size()));
+            for (Map.Entry<String, String> _iter151 : struct.configuration.entrySet())
+            {
+              oprot.writeString(_iter151.getKey());
+              oprot.writeString(_iter151.getValue());
+            }
+            oprot.writeMapEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetBlockSize()) {
+        oprot.writeFieldBegin(BLOCK_SIZE_FIELD_DESC);
+        oprot.writeI32(struct.blockSize);
+        oprot.writeFieldEnd();
+      }
+      if (struct.bloomnFilterType != null) {
+        if (struct.isSetBloomnFilterType()) {
+          oprot.writeFieldBegin(BLOOMN_FILTER_TYPE_FIELD_DESC);
+          oprot.writeI32(struct.bloomnFilterType.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.compressionType != null) {
+        if (struct.isSetCompressionType()) {
+          oprot.writeFieldBegin(COMPRESSION_TYPE_FIELD_DESC);
+          oprot.writeI32(struct.compressionType.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetDfsReplication()) {
+        oprot.writeFieldBegin(DFS_REPLICATION_FIELD_DESC);
+        oprot.writeI16(struct.dfsReplication);
+        oprot.writeFieldEnd();
+      }
+      if (struct.dataBlockEncoding != null) {
+        if (struct.isSetDataBlockEncoding()) {
+          oprot.writeFieldBegin(DATA_BLOCK_ENCODING_FIELD_DESC);
+          oprot.writeI32(struct.dataBlockEncoding.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.keepDeletedCells != null) {
+        if (struct.isSetKeepDeletedCells()) {
+          oprot.writeFieldBegin(KEEP_DELETED_CELLS_FIELD_DESC);
+          oprot.writeI32(struct.keepDeletedCells.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetMaxVersions()) {
+        oprot.writeFieldBegin(MAX_VERSIONS_FIELD_DESC);
+        oprot.writeI32(struct.maxVersions);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetMinVersions()) {
+        oprot.writeFieldBegin(MIN_VERSIONS_FIELD_DESC);
+        oprot.writeI32(struct.minVersions);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetScope()) {
+        oprot.writeFieldBegin(SCOPE_FIELD_DESC);
+        oprot.writeI32(struct.scope);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetTimeToLive()) {
+        oprot.writeFieldBegin(TIME_TO_LIVE_FIELD_DESC);
+        oprot.writeI32(struct.timeToLive);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetBlockCacheEnabled()) {
+        oprot.writeFieldBegin(BLOCK_CACHE_ENABLED_FIELD_DESC);
+        oprot.writeBool(struct.blockCacheEnabled);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetCacheBloomsOnWrite()) {
+        oprot.writeFieldBegin(CACHE_BLOOMS_ON_WRITE_FIELD_DESC);
+        oprot.writeBool(struct.cacheBloomsOnWrite);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetCacheDataOnWrite()) {
+        oprot.writeFieldBegin(CACHE_DATA_ON_WRITE_FIELD_DESC);
+        oprot.writeBool(struct.cacheDataOnWrite);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetCacheIndexesOnWrite()) {
+        oprot.writeFieldBegin(CACHE_INDEXES_ON_WRITE_FIELD_DESC);
+        oprot.writeBool(struct.cacheIndexesOnWrite);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetCompressTags()) {
+        oprot.writeFieldBegin(COMPRESS_TAGS_FIELD_DESC);
+        oprot.writeBool(struct.compressTags);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetEvictBlocksOnClose()) {
+        oprot.writeFieldBegin(EVICT_BLOCKS_ON_CLOSE_FIELD_DESC);
+        oprot.writeBool(struct.evictBlocksOnClose);
+        oprot.writeFieldEnd();
+      }
+      if (struct.isSetInMemory()) {
+        oprot.writeFieldBegin(IN_MEMORY_FIELD_DESC);
+        oprot.writeBool(struct.inMemory);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class TColumnFamilyDescriptorTupleSchemeFactory implements SchemeFactory {
+    public TColumnFamilyDescriptorTupleScheme getScheme() {
+      return new TColumnFamilyDescriptorTupleScheme();
+    }
+  }
+
+  private static class TColumnFamilyDescriptorTupleScheme extends TupleScheme<TColumnFamilyDescriptor> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, TColumnFamilyDescriptor struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeBinary(struct.name);
+      BitSet optionals = new BitSet();
+      if (struct.isSetAttributes()) {
+        optionals.set(0);
+      }
+      if (struct.isSetConfiguration()) {
+        optionals.set(1);
+      }
+      if (struct.isSetBlockSize()) {
+        optionals.set(2);
+      }
+      if (struct.isSetBloomnFilterType()) {
+        optionals.set(3);
+      }
+      if (struct.isSetCompressionType()) {
+        optionals.set(4);
+      }
+      if (struct.isSetDfsReplication()) {
+        optionals.set(5);
+      }
+      if (struct.isSetDataBlockEncoding()) {
+        optionals.set(6);
+      }
+      if (struct.isSetKeepDeletedCells()) {
+        optionals.set(7);
+      }
+      if (struct.isSetMaxVersions()) {
+        optionals.set(8);
+      }
+      if (struct.isSetMinVersions()) {
+        optionals.set(9);
+      }
+      if (struct.isSetScope()) {
+        optionals.set(10);
+      }
+      if (struct.isSetTimeToLive()) {
+        optionals.set(11);
+      }
+      if (struct.isSetBlockCacheEnabled()) {
+        optionals.set(12);
+      }
+      if (struct.isSetCacheBloomsOnWrite()) {
+        optionals.set(13);
+      }
+      if (struct.isSetCacheDataOnWrite()) {
+        optionals.set(14);
+      }
+      if (struct.isSetCacheIndexesOnWrite()) {
+        optionals.set(15);
+      }
+      if (struct.isSetCompressTags()) {
+        optionals.set(16);
+      }
+      if (struct.isSetEvictBlocksOnClose()) {
+        optionals.set(17);
+      }
+      if (struct.isSetInMemory()) {
+        optionals.set(18);
+      }
+      oprot.writeBitSet(optionals, 19);
+      if (struct.isSetAttributes()) {
+        {
+          oprot.writeI32(struct.attributes.size());
+          for (Map.Entry<ByteBuffer, ByteBuffer> _iter152 : struct.attributes.entrySet())
+          {
+            oprot.writeBinary(_iter152.getKey());
+            oprot.writeBinary(_iter152.getValue());
+          }
+        }
+      }
+      if (struct.isSetConfiguration()) {
+        {
+          oprot.writeI32(struct.configuration.size());
+          for (Map.Entry<String, String> _iter153 : struct.configuration.entrySet())
+          {
+            oprot.writeString(_iter153.getKey());
+            oprot.writeString(_iter153.getValue());
+          }
+        }
+      }
+      if (struct.isSetBlockSize()) {
+        oprot.writeI32(struct.blockSize);
+      }
+      if (struct.isSetBloomnFilterType()) {
+        oprot.writeI32(struct.bloomnFilterType.getValue());
+      }
+      if (struct.isSetCompressionType()) {
+        oprot.writeI32(struct.compressionType.getValue());
+      }
+      if (struct.isSetDfsReplication()) {
+        oprot.writeI16(struct.dfsReplication);
+      }
+      if (struct.isSetDataBlockEncoding()) {
+        oprot.writeI32(struct.dataBlockEncoding.getValue());
+      }
+      if (struct.isSetKeepDeletedCells()) {
+        oprot.writeI32(struct.keepDeletedCells.getValue());
+      }
+      if (struct.isSetMaxVersions()) {
+        oprot.writeI32(struct.maxVersions);
+      }
+      if (struct.isSetMinVersions()) {
+        oprot.writeI32(struct.minVersions);
+      }
+      if (struct.isSetScope()) {
+        oprot.writeI3

<TRUNCATED>

[7/9] hbase git commit: HBASE-21650 Add DDL operation and some other miscellaneous to thrift2

Posted by al...@apache.org.
HBASE-21650 Add DDL operation and some other miscellaneous to thrift2


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/4e8a8467
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/4e8a8467
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/4e8a8467

Branch: refs/heads/branch-2
Commit: 4e8a846794f88cfd273649cdce6125b6bfc21b2d
Parents: 8add791
Author: Allan Yang <al...@apache.org>
Authored: Sat Dec 29 18:04:57 2018 +0800
Committer: Allan Yang <al...@apache.org>
Committed: Sat Dec 29 18:04:57 2018 +0800

----------------------------------------------------------------------
 .../hbase/thrift/generated/AlreadyExists.java   |     2 +-
 .../hbase/thrift/generated/BatchMutation.java   |     2 +-
 .../thrift/generated/ColumnDescriptor.java      |     2 +-
 .../hadoop/hbase/thrift/generated/Hbase.java    |     2 +-
 .../hadoop/hbase/thrift/generated/IOError.java  |     2 +-
 .../hbase/thrift/generated/IllegalArgument.java |     2 +-
 .../hadoop/hbase/thrift/generated/Mutation.java |     2 +-
 .../hadoop/hbase/thrift/generated/TAppend.java  |     2 +-
 .../hadoop/hbase/thrift/generated/TCell.java    |     2 +-
 .../hadoop/hbase/thrift/generated/TColumn.java  |     2 +-
 .../hbase/thrift/generated/TIncrement.java      |     2 +-
 .../hbase/thrift/generated/TRegionInfo.java     |     2 +-
 .../hbase/thrift/generated/TRowResult.java      |     2 +-
 .../hadoop/hbase/thrift/generated/TScan.java    |     2 +-
 .../thrift2/ThriftHBaseServiceHandler.java      |   290 +
 .../hadoop/hbase/thrift2/ThriftUtilities.java   |   411 +-
 .../thrift2/generated/NamespaceDescriptor.java  |   554 +
 .../hadoop/hbase/thrift2/generated/TAppend.java |   114 +-
 .../hbase/thrift2/generated/TAuthorization.java |     2 +-
 .../thrift2/generated/TBloomFilterType.java     |    69 +
 .../thrift2/generated/TCellVisibility.java      |     2 +-
 .../hadoop/hbase/thrift2/generated/TColumn.java |     2 +-
 .../generated/TColumnFamilyDescriptor.java      |  2519 +
 .../thrift2/generated/TColumnIncrement.java     |     2 +-
 .../hbase/thrift2/generated/TColumnValue.java   |   110 +-
 .../generated/TCompressionAlgorithm.java        |    60 +
 .../thrift2/generated/TDataBlockEncoding.java   |    57 +
 .../hadoop/hbase/thrift2/generated/TDelete.java |     2 +-
 .../hbase/thrift2/generated/TDurability.java    |     3 +
 .../hadoop/hbase/thrift2/generated/TGet.java    |   410 +-
 .../hbase/thrift2/generated/THBaseService.java  | 44644 +++++++++++++----
 .../hbase/thrift2/generated/THRegionInfo.java   |     2 +-
 .../thrift2/generated/THRegionLocation.java     |     2 +-
 .../hbase/thrift2/generated/TIOError.java       |     2 +-
 .../thrift2/generated/TIllegalArgument.java     |     2 +-
 .../hbase/thrift2/generated/TIncrement.java     |   114 +-
 .../thrift2/generated/TKeepDeletedCells.java    |    63 +
 .../thrift2/generated/TNamespaceDescriptor.java |   554 +
 .../hadoop/hbase/thrift2/generated/TPut.java    |     2 +-
 .../hadoop/hbase/thrift2/generated/TResult.java |   112 +-
 .../hbase/thrift2/generated/TRowMutations.java  |    38 +-
 .../hadoop/hbase/thrift2/generated/TScan.java   |     2 +-
 .../hbase/thrift2/generated/TServerName.java    |     2 +-
 .../thrift2/generated/TTableDescriptor.java     |   843 +
 .../hbase/thrift2/generated/TTableName.java     |   512 +
 .../hbase/thrift2/generated/TTimeRange.java     |     2 +-
 .../apache/hadoop/hbase/thrift2/hbase.thrift    |   229 +-
 .../thrift2/TestThriftHBaseServiceHandler.java  |    96 +
 48 files changed, 41553 insertions(+), 10303 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java
index 68361c1..8ec3e32 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * An AlreadyExists exceptions signals that a table with the specified
  * name already exists
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class AlreadyExists extends TException implements org.apache.thrift.TBase<AlreadyExists, AlreadyExists._Fields>, java.io.Serializable, Cloneable, Comparable<AlreadyExists> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AlreadyExists");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java
index a2920ea..0872223 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * A BatchMutation object is used to apply a number of Mutations to a single row.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, BatchMutation._Fields>, java.io.Serializable, Cloneable, Comparable<BatchMutation> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BatchMutation");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java
index 3252377..bccd48b 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
  * such as the number of versions, compression settings, etc. It is
  * used as input when creating a table or adding a column.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescriptor, ColumnDescriptor._Fields>, java.io.Serializable, Cloneable, Comparable<ColumnDescriptor> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ColumnDescriptor");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
index f77ce14..dc4d8bc 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class Hbase {
 
   public interface Iface {

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java
index 558f3e1..a32b008 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
  * to the Hbase master or an Hbase region server.  Also used to return
  * more general Hbase error conditions.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class IOError extends TException implements org.apache.thrift.TBase<IOError, IOError._Fields>, java.io.Serializable, Cloneable, Comparable<IOError> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("IOError");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java
index bd296cc..573c496 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * An IllegalArgument exception indicates an illegal or invalid
  * argument was passed into a procedure.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class IllegalArgument extends TException implements org.apache.thrift.TBase<IllegalArgument, IllegalArgument._Fields>, java.io.Serializable, Cloneable, Comparable<IllegalArgument> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("IllegalArgument");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java
index 216df2d..72925b7 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * A Mutation object is used to either update or delete a column-value.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class Mutation implements org.apache.thrift.TBase<Mutation, Mutation._Fields>, java.io.Serializable, Cloneable, Comparable<Mutation> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Mutation");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TAppend.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TAppend.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TAppend.java
index 439d71e..a21b5f7 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TAppend.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TAppend.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * An Append object is used to specify the parameters for performing the append operation.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields>, java.io.Serializable, Cloneable, Comparable<TAppend> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TAppend");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java
index 37021c0..afe0af1 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
  * the timestamp of a cell to a first-class value, making it easy to take
  * note of temporal data. Cell is used all the way from HStore up to HTable.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TCell implements org.apache.thrift.TBase<TCell, TCell._Fields>, java.io.Serializable, Cloneable, Comparable<TCell> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TCell");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TColumn.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TColumn.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TColumn.java
index 77e875d..0115bbd 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TColumn.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TColumn.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Holds column name and the cell.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TColumn implements org.apache.thrift.TBase<TColumn, TColumn._Fields>, java.io.Serializable, Cloneable, Comparable<TColumn> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TColumn");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TIncrement.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TIncrement.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TIncrement.java
index 22b5f79..7c018f1 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TIncrement.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TIncrement.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * For increments that are not incrementColumnValue
  * equivalents.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncrement._Fields>, java.io.Serializable, Cloneable, Comparable<TIncrement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TIncrement");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java
index a1dab6b..ec75247 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * A TRegionInfo contains information about an HTable region.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TRegionInfo implements org.apache.thrift.TBase<TRegionInfo, TRegionInfo._Fields>, java.io.Serializable, Cloneable, Comparable<TRegionInfo> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TRegionInfo");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java
index 418f503..b09a368 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Holds row name and then a map of columns to cells.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TRowResult implements org.apache.thrift.TBase<TRowResult, TRowResult._Fields>, java.io.Serializable, Cloneable, Comparable<TRowResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TRowResult");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
index 3faadd9..97d59c7 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * A Scan object is used to specify scanner parameters when opening a scanner.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, java.io.Serializable, Cloneable, Comparable<TScan> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TScan");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java
index 8e3ee96..2bfeefe 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftHBaseServiceHandler.java
@@ -19,18 +19,28 @@
 package org.apache.hadoop.hbase.thrift2;
 
 import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.appendFromThrift;
+import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.columnFamilyDescriptorFromThrift;
 import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.compareOpFromThrift;
 import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.deleteFromThrift;
 import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.deletesFromThrift;
 import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.getFromThrift;
 import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.getsFromThrift;
 import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.incrementFromThrift;
+import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.namespaceDescriptorFromHBase;
+import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.namespaceDescriptorFromThrift;
+import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.namespaceDescriptorsFromHBase;
 import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.putFromThrift;
 import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.putsFromThrift;
 import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.resultFromHBase;
 import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.resultsFromHBase;
 import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.rowMutationsFromThrift;
 import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.scanFromThrift;
+import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.splitKeyFromThrift;
+import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.tableDescriptorFromHBase;
+import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.tableDescriptorFromThrift;
+import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.tableDescriptorsFromHBase;
+import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.tableNameFromThrift;
+import static org.apache.hadoop.hbase.thrift2.ThriftUtilities.tableNamesFromHBase;
 import static org.apache.thrift.TBaseHelper.byteBufferToByteArray;
 
 import java.io.IOException;
@@ -45,16 +55,22 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.regex.Pattern;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.DoNotRetryIOException;
 import org.apache.hadoop.hbase.HRegionLocation;
+import org.apache.hadoop.hbase.NamespaceDescriptor;
+import org.apache.hadoop.hbase.TableName;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
 import org.apache.hadoop.hbase.client.RegionLocator;
 import org.apache.hadoop.hbase.client.ResultScanner;
 import org.apache.hadoop.hbase.client.Table;
+import org.apache.hadoop.hbase.client.TableDescriptor;
 import org.apache.hadoop.hbase.security.UserProvider;
 import org.apache.hadoop.hbase.thrift.ThriftMetrics;
 import org.apache.hadoop.hbase.thrift2.generated.TAppend;
+import org.apache.hadoop.hbase.thrift2.generated.TColumnFamilyDescriptor;
 import org.apache.hadoop.hbase.thrift2.generated.TCompareOp;
 import org.apache.hadoop.hbase.thrift2.generated.TDelete;
 import org.apache.hadoop.hbase.thrift2.generated.TGet;
@@ -63,10 +79,13 @@ import org.apache.hadoop.hbase.thrift2.generated.THRegionLocation;
 import org.apache.hadoop.hbase.thrift2.generated.TIOError;
 import org.apache.hadoop.hbase.thrift2.generated.TIllegalArgument;
 import org.apache.hadoop.hbase.thrift2.generated.TIncrement;
+import org.apache.hadoop.hbase.thrift2.generated.TNamespaceDescriptor;
 import org.apache.hadoop.hbase.thrift2.generated.TPut;
 import org.apache.hadoop.hbase.thrift2.generated.TResult;
 import org.apache.hadoop.hbase.thrift2.generated.TRowMutations;
 import org.apache.hadoop.hbase.thrift2.generated.TScan;
+import org.apache.hadoop.hbase.thrift2.generated.TTableDescriptor;
+import org.apache.hadoop.hbase.thrift2.generated.TTableName;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.ConnectionCache;
 import org.apache.thrift.TException;
@@ -570,4 +589,275 @@ public class ThriftHBaseServiceHandler implements THBaseService.Iface {
   private boolean isReadOnly() {
     return isReadOnly;
   }
+
+  @Override
+  public TTableDescriptor getTableDescriptor(TTableName table) throws TIOError, TException {
+    try {
+      TableName tableName = ThriftUtilities.tableNameFromThrift(table);
+      TableDescriptor tableDescriptor = connectionCache.getAdmin().getDescriptor(tableName);
+      return tableDescriptorFromHBase(tableDescriptor);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public List<TTableDescriptor> getTableDescriptors(List<TTableName> tables)
+      throws TIOError, TException {
+    try {
+      List<TableName> tableNames = ThriftUtilities.tableNamesFromThrift(tables);
+      List<TableDescriptor> tableDescriptors = connectionCache.getAdmin()
+          .listTableDescriptors(tableNames);
+      return tableDescriptorsFromHBase(tableDescriptors);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public boolean tableExists(TTableName tTableName) throws TIOError, TException {
+    try {
+      TableName tableName = tableNameFromThrift(tTableName);
+      return connectionCache.getAdmin().tableExists(tableName);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public List<TTableDescriptor> getTableDescriptorsByPattern(String regex, boolean includeSysTables)
+      throws TIOError, TException {
+    try {
+      Pattern pattern = Pattern.compile(regex);
+      List<TableDescriptor> tableDescriptors = connectionCache.getAdmin()
+          .listTableDescriptors(pattern, includeSysTables);
+      return tableDescriptorsFromHBase(tableDescriptors);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public List<TTableDescriptor> getTableDescriptorsByNamespace(String name)
+      throws TIOError, TException {
+    try {
+      List<TableDescriptor> descriptors = connectionCache.getAdmin()
+          .listTableDescriptorsByNamespace(Bytes.toBytes(name));
+      return tableDescriptorsFromHBase(descriptors);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public List<TTableName> getTableNamesByPattern(String regex, boolean includeSysTables)
+      throws TIOError, TException {
+    try {
+      Pattern pattern = Pattern.compile(regex);
+      TableName[] tableNames = connectionCache.getAdmin()
+          .listTableNames(pattern, includeSysTables);
+      return tableNamesFromHBase(tableNames);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public List<TTableName> getTableNamesByNamespace(String name) throws TIOError, TException {
+    try {
+      TableName[] tableNames = connectionCache.getAdmin().listTableNamesByNamespace(name);
+      return tableNamesFromHBase(tableNames);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public void createTable(TTableDescriptor desc, List<ByteBuffer> splitKeys)
+      throws TIOError, TException {
+    try {
+      TableDescriptor descriptor = tableDescriptorFromThrift(desc);
+      byte[][] split = splitKeyFromThrift(splitKeys);
+      connectionCache.getAdmin().createTable(descriptor, split);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public void deleteTable(TTableName tableName) throws TIOError, TException {
+    try {
+      TableName table = tableNameFromThrift(tableName);
+      connectionCache.getAdmin().deleteTable(table);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public void truncateTable(TTableName tableName, boolean preserveSplits)
+      throws TIOError, TException {
+    try {
+      TableName table = tableNameFromThrift(tableName);
+      connectionCache.getAdmin().truncateTable(table, preserveSplits);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public void enableTable(TTableName tableName) throws TIOError, TException {
+    try {
+      TableName table = tableNameFromThrift(tableName);
+      connectionCache.getAdmin().enableTable(table);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public void disableTable(TTableName tableName) throws TIOError, TException {
+    try {
+      TableName table = tableNameFromThrift(tableName);
+      connectionCache.getAdmin().disableTable(table);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public boolean isTableEnabled(TTableName tableName) throws TIOError, TException {
+    try {
+      TableName table = tableNameFromThrift(tableName);
+      return connectionCache.getAdmin().isTableEnabled(table);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public boolean isTableDisabled(TTableName tableName) throws TIOError, TException {
+    try {
+      TableName table = tableNameFromThrift(tableName);
+      return connectionCache.getAdmin().isTableDisabled(table);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public boolean isTableAvailable(TTableName tableName) throws TIOError, TException {
+    try {
+      TableName table = tableNameFromThrift(tableName);
+      return connectionCache.getAdmin().isTableAvailable(table);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public boolean isTableAvailableWithSplit(TTableName tableName, List<ByteBuffer> splitKeys)
+      throws TIOError, TException {
+    try {
+      TableName table = tableNameFromThrift(tableName);
+      byte[][] split = splitKeyFromThrift(splitKeys);
+      return connectionCache.getAdmin().isTableAvailable(table, split);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public void addColumnFamily(TTableName tableName, TColumnFamilyDescriptor column)
+      throws TIOError, TException {
+    try {
+      TableName table = tableNameFromThrift(tableName);
+      ColumnFamilyDescriptor columnFamilyDescriptor = columnFamilyDescriptorFromThrift(column);
+      connectionCache.getAdmin().addColumnFamily(table, columnFamilyDescriptor);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public void deleteColumnFamily(TTableName tableName, ByteBuffer column)
+      throws TIOError, TException {
+    try {
+      TableName table = tableNameFromThrift(tableName);
+      connectionCache.getAdmin().deleteColumnFamily(table, column.array());
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public void modifyColumnFamily(TTableName tableName, TColumnFamilyDescriptor column)
+      throws TIOError, TException {
+    try {
+      TableName table = tableNameFromThrift(tableName);
+      ColumnFamilyDescriptor columnFamilyDescriptor = columnFamilyDescriptorFromThrift(column);
+      connectionCache.getAdmin().modifyColumnFamily(table, columnFamilyDescriptor);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public void modifyTable(TTableDescriptor desc) throws TIOError, TException {
+    try {
+      TableDescriptor descriptor = tableDescriptorFromThrift(desc);
+      connectionCache.getAdmin().modifyTable(descriptor);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public void createNamespace(TNamespaceDescriptor namespaceDesc) throws TIOError, TException {
+    try {
+      NamespaceDescriptor descriptor = namespaceDescriptorFromThrift(namespaceDesc);
+      connectionCache.getAdmin().createNamespace(descriptor);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public void modifyNamespace(TNamespaceDescriptor namespaceDesc) throws TIOError, TException {
+    try {
+      NamespaceDescriptor descriptor = namespaceDescriptorFromThrift(namespaceDesc);
+      connectionCache.getAdmin().modifyNamespace(descriptor);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public void deleteNamespace(String name) throws TIOError, TException {
+    try {
+      connectionCache.getAdmin().deleteNamespace(name);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public TNamespaceDescriptor getNamespaceDescriptor(String name) throws TIOError, TException {
+    try {
+      NamespaceDescriptor descriptor = connectionCache.getAdmin().getNamespaceDescriptor(name);
+      return namespaceDescriptorFromHBase(descriptor);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
+
+  @Override
+  public List<TNamespaceDescriptor> listNamespaceDescriptors() throws TIOError, TException {
+    try {
+      NamespaceDescriptor[] descriptors = connectionCache.getAdmin().listNamespaceDescriptors();
+      return namespaceDescriptorsFromHBase(descriptors);
+    } catch (IOException e) {
+      throw getTIOError(e);
+    }
+  }
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java
index 57d340f..a0cec37 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java
@@ -34,9 +34,14 @@ import org.apache.hadoop.hbase.CompareOperator;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.HRegionLocation;
+import org.apache.hadoop.hbase.KeepDeletedCells;
+import org.apache.hadoop.hbase.NamespaceDescriptor;
 import org.apache.hadoop.hbase.PrivateCellUtil;
 import org.apache.hadoop.hbase.ServerName;
+import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Append;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor;
+import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
 import org.apache.hadoop.hbase.client.Consistency;
 import org.apache.hadoop.hbase.client.Delete;
 import org.apache.hadoop.hbase.client.Durability;
@@ -48,28 +53,42 @@ import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.client.RowMutations;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.client.Scan.ReadType;
+import org.apache.hadoop.hbase.client.TableDescriptor;
+import org.apache.hadoop.hbase.client.TableDescriptorBuilder;
 import org.apache.hadoop.hbase.filter.ParseFilter;
+import org.apache.hadoop.hbase.io.compress.Compression;
+import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;
+import org.apache.hadoop.hbase.regionserver.BloomType;
 import org.apache.hadoop.hbase.security.visibility.Authorizations;
 import org.apache.hadoop.hbase.security.visibility.CellVisibility;
 import org.apache.hadoop.hbase.thrift2.generated.TAppend;
+import org.apache.hadoop.hbase.thrift2.generated.TBloomFilterType;
 import org.apache.hadoop.hbase.thrift2.generated.TColumn;
+import org.apache.hadoop.hbase.thrift2.generated.TColumnFamilyDescriptor;
 import org.apache.hadoop.hbase.thrift2.generated.TColumnIncrement;
 import org.apache.hadoop.hbase.thrift2.generated.TColumnValue;
 import org.apache.hadoop.hbase.thrift2.generated.TCompareOp;
+import org.apache.hadoop.hbase.thrift2.generated.TCompressionAlgorithm;
 import org.apache.hadoop.hbase.thrift2.generated.TConsistency;
+import org.apache.hadoop.hbase.thrift2.generated.TDataBlockEncoding;
 import org.apache.hadoop.hbase.thrift2.generated.TDelete;
+import org.apache.hadoop.hbase.thrift2.generated.TDeleteType;
 import org.apache.hadoop.hbase.thrift2.generated.TDurability;
 import org.apache.hadoop.hbase.thrift2.generated.TGet;
 import org.apache.hadoop.hbase.thrift2.generated.THRegionInfo;
 import org.apache.hadoop.hbase.thrift2.generated.THRegionLocation;
 import org.apache.hadoop.hbase.thrift2.generated.TIncrement;
+import org.apache.hadoop.hbase.thrift2.generated.TKeepDeletedCells;
 import org.apache.hadoop.hbase.thrift2.generated.TMutation;
+import org.apache.hadoop.hbase.thrift2.generated.TNamespaceDescriptor;
 import org.apache.hadoop.hbase.thrift2.generated.TPut;
 import org.apache.hadoop.hbase.thrift2.generated.TReadType;
 import org.apache.hadoop.hbase.thrift2.generated.TResult;
 import org.apache.hadoop.hbase.thrift2.generated.TRowMutations;
 import org.apache.hadoop.hbase.thrift2.generated.TScan;
 import org.apache.hadoop.hbase.thrift2.generated.TServerName;
+import org.apache.hadoop.hbase.thrift2.generated.TTableDescriptor;
+import org.apache.hadoop.hbase.thrift2.generated.TTableName;
 import org.apache.hadoop.hbase.thrift2.generated.TTimeRange;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.yetus.audience.InterfaceAudience;
@@ -79,6 +98,12 @@ import org.apache.hbase.thirdparty.org.apache.commons.collections4.MapUtils;
 @InterfaceAudience.Private
 public class ThriftUtilities {
 
+  private final static Cell[] EMPTY_CELL_ARRAY = new Cell[]{};
+  private final static Result EMPTY_RESULT = Result.create(EMPTY_CELL_ARRAY);
+  private final static Result EMPTY_RESULT_STALE = Result.create(EMPTY_CELL_ARRAY, null, true);
+
+
+
   private ThriftUtilities() {
     throw new UnsupportedOperationException("Can't initialize class");
   }
@@ -129,6 +154,20 @@ public class ThriftUtilities {
       out.setReplicaId(in.getTargetReplicaId());
     }
 
+    if (in.isSetCacheBlocks()) {
+      out.setCacheBlocks(in.isCacheBlocks());
+    }
+    if (in.isSetStoreLimit()) {
+      out.setMaxResultsPerColumnFamily(in.getStoreLimit());
+    }
+    if (in.isSetStoreOffset()) {
+      out.setRowOffsetPerColumnFamily(in.getStoreOffset());
+    }
+    if (in.isSetExistence_only()) {
+      out.setCheckExistenceOnly(in.isExistence_only());
+    }
+
+
     if (!in.isSetColumns()) {
       return out;
     }
@@ -183,6 +222,7 @@ public class ThriftUtilities {
       col.setQualifier(CellUtil.cloneQualifier(kv));
       col.setTimestamp(kv.getTimestamp());
       col.setValue(CellUtil.cloneValue(kv));
+      col.setType(kv.getType().getCode());
       if (kv.getTagsLength() > 0) {
         col.setTags(PrivateCellUtil.cloneTags(kv));
       }
@@ -191,6 +231,8 @@ public class ThriftUtilities {
     out.setColumnValues(columnValues);
 
     out.setStale(in.isStale());
+
+    out.setPartial(in.mayHaveMoreCellsInRow());
     return out;
   }
 
@@ -371,6 +413,15 @@ public class ThriftUtilities {
     return out;
   }
 
+  public static TDeleteType deleteTypeFromHBase(Cell.Type type) {
+    switch (type) {
+      case Delete: return TDeleteType.DELETE_COLUMN;
+      case DeleteColumn: return TDeleteType.DELETE_COLUMNS;
+      case DeleteFamily: return TDeleteType.DELETE_FAMILY;
+      case DeleteFamilyVersion: return TDeleteType.DELETE_FAMILY_VERSION;
+      default: throw new IllegalArgumentException("Unknow delete type " + type);
+    }  }
+
   public static TDelete deleteFromHBase(Delete in) {
     TDelete out = new TDelete(ByteBuffer.wrap(in.getRow()));
 
@@ -380,17 +431,33 @@ public class ThriftUtilities {
       out.setTimestamp(rowTimestamp);
     }
 
-    // Map<family, List<KeyValue>>
-    for (Map.Entry<byte[], List<org.apache.hadoop.hbase.Cell>> familyEntry:
+    for (Map.Entry<String, byte[]> attribute : in.getAttributesMap().entrySet()) {
+      out.putToAttributes(ByteBuffer.wrap(Bytes.toBytes(attribute.getKey())),
+          ByteBuffer.wrap(attribute.getValue()));
+    }
+    if (in.getDurability() != Durability.USE_DEFAULT)  {
+      out.setDurability(durabilityFromHBase(in.getDurability()));
+    }
+    // Delete the whole row
+    if (in.getFamilyCellMap().size() == 0) {
+      return out;
+    }
+    TDeleteType type = null;
+    for (Map.Entry<byte[], List<Cell>> familyEntry:
         in.getFamilyCellMap().entrySet()) {
+      byte[] family = familyEntry.getKey();
       TColumn column = new TColumn(ByteBuffer.wrap(familyEntry.getKey()));
-      for (org.apache.hadoop.hbase.Cell cell: familyEntry.getValue()) {
-        byte[] family = CellUtil.cloneFamily(cell);
+      for (Cell cell: familyEntry.getValue()) {
+        TDeleteType cellDeleteType = deleteTypeFromHBase(cell.getType());
+        if (type == null) {
+          type = cellDeleteType;
+        } else if (type != cellDeleteType){
+          throw new RuntimeException("Only the same delete type is supported, but two delete type "
+              + "is founded, one is " + type + " the other one is " + cellDeleteType);
+        }
         byte[] qualifier = CellUtil.cloneQualifier(cell);
         long timestamp = cell.getTimestamp();
-        if (family != null) {
-          column.setFamily(family);
-        }
+        column.setFamily(family);
         if (qualifier != null) {
           column.setQualifier(qualifier);
         }
@@ -401,6 +468,7 @@ public class ThriftUtilities {
       columns.add(column);
     }
     out.setColumns(columns);
+    out.setDeleteType(type);
 
     return out;
   }
@@ -527,6 +595,10 @@ public class ThriftUtilities {
       out.setCellVisibility(new CellVisibility(in.getCellVisibility().getExpression()));
     }
 
+    if (in.isSetReturnResults()) {
+      out.setReturnResults(in.isReturnResults());
+    }
+
     return out;
   }
 
@@ -548,6 +620,10 @@ public class ThriftUtilities {
       out.setCellVisibility(new CellVisibility(append.getCellVisibility().getExpression()));
     }
 
+    if (append.isSetReturnResults()) {
+      out.setReturnResults(append.isReturnResults());
+    }
+
     return out;
   }
 
@@ -601,11 +677,12 @@ public class ThriftUtilities {
 
   private static Durability durabilityFromThrift(TDurability tDurability) {
     switch (tDurability.getValue()) {
+      case 0: return Durability.USE_DEFAULT;
       case 1: return Durability.SKIP_WAL;
       case 2: return Durability.ASYNC_WAL;
       case 3: return Durability.SYNC_WAL;
       case 4: return Durability.FSYNC_WAL;
-      default: return null;
+      default: return Durability.USE_DEFAULT;
     }
   }
 
@@ -638,4 +715,322 @@ public class ThriftUtilities {
       default: return Consistency.STRONG;
     }
   }
+
+  public static TableName tableNameFromThrift(TTableName tableName) {
+    return TableName.valueOf(tableName.getNs(), tableName.getQualifier());
+  }
+
+  public static List<TableName> tableNamesFromThrift(List<TTableName> tableNames) {
+    List<TableName> out = new ArrayList<>(tableNames.size());
+    for (TTableName tableName : tableNames) {
+      out.add(tableNameFromThrift(tableName));
+    }
+    return out;
+  }
+
+  public static TTableName tableNameFromHBase(TableName table) {
+    TTableName tableName = new TTableName();
+    tableName.setNs(table.getNamespace());
+    tableName.setQualifier(table.getQualifier());
+    return tableName;
+  }
+
+  public static List<TTableName> tableNamesFromHBase(TableName[] in) {
+    List<TTableName> out = new ArrayList<>(in.length);
+    for (TableName tableName : in) {
+      out.add(tableNameFromHBase(tableName));
+    }
+    return out;
+  }
+
+  public static byte[][] splitKeyFromThrift(List<ByteBuffer> in) {
+    if (in == null || in.size() == 0) {
+      return null;
+    }
+    byte[][] out = new byte[in.size()][];
+    int index = 0;
+    for (ByteBuffer key : in) {
+      out[index++] = key.array();
+    }
+    return out;
+  }
+
+  public static BloomType bloomFilterFromThrift(TBloomFilterType in) {
+    switch (in.getValue()) {
+      case 0: return BloomType.NONE;
+      case 1: return BloomType.ROW;
+      case 2: return BloomType.ROWCOL;
+      case 3: return BloomType.ROWPREFIX_FIXED_LENGTH;
+      case 4: return BloomType.ROWPREFIX_DELIMITED;
+      default: return BloomType.ROW;
+    }
+  }
+
+  public static Compression.Algorithm compressionAlgorithmFromThrift(TCompressionAlgorithm in) {
+    switch (in.getValue()) {
+      case 0: return Compression.Algorithm.LZO;
+      case 1: return Compression.Algorithm.GZ;
+      case 2: return Compression.Algorithm.NONE;
+      case 3: return Compression.Algorithm.SNAPPY;
+      case 4: return Compression.Algorithm.LZ4;
+      case 5: return Compression.Algorithm.BZIP2;
+      case 6: return Compression.Algorithm.ZSTD;
+      default: return Compression.Algorithm.NONE;
+    }
+  }
+
+  public static DataBlockEncoding dataBlockEncodingFromThrift(TDataBlockEncoding in) {
+    switch (in.getValue()) {
+      case 0: return DataBlockEncoding.NONE;
+      case 2: return DataBlockEncoding.PREFIX;
+      case 3: return DataBlockEncoding.DIFF;
+      case 4: return DataBlockEncoding.FAST_DIFF;
+      case 7: return DataBlockEncoding.ROW_INDEX_V1;
+      default: return DataBlockEncoding.NONE;
+    }
+  }
+
+  public static KeepDeletedCells keepDeletedCellsFromThrift(TKeepDeletedCells in) {
+    switch (in.getValue()) {
+      case 0: return KeepDeletedCells.FALSE;
+      case 1: return KeepDeletedCells.TRUE;
+      case 2: return KeepDeletedCells.TTL;
+      default: return KeepDeletedCells.FALSE;
+    }
+  }
+
+  public static ColumnFamilyDescriptor columnFamilyDescriptorFromThrift(
+      TColumnFamilyDescriptor in) {
+    ColumnFamilyDescriptorBuilder builder = ColumnFamilyDescriptorBuilder
+        .newBuilder(in.getName());
+
+    if (in.isSetAttributes()) {
+      for (Map.Entry<ByteBuffer, ByteBuffer> attribute : in.getAttributes().entrySet()) {
+        builder.setValue(attribute.getKey().array(), attribute.getValue().array());
+      }
+    }
+    if (in.isSetConfiguration()) {
+      for (Map.Entry<String, String> conf : in.getConfiguration().entrySet()) {
+        builder.setConfiguration(conf.getKey(), conf.getValue());
+      }
+    }
+    if (in.isSetBlockSize()) {
+      builder.setBlocksize(in.getBlockSize());
+    }
+    if (in.isSetBloomnFilterType()) {
+      builder.setBloomFilterType(bloomFilterFromThrift(in.getBloomnFilterType()));
+    }
+    if (in.isSetCompressionType()) {
+      builder.setCompressionType(compressionAlgorithmFromThrift(in.getCompressionType()));
+    }
+    if (in.isSetDfsReplication()) {
+      builder.setDFSReplication(in.getDfsReplication());
+    }
+    if (in.isSetDataBlockEncoding()) {
+      builder.setDataBlockEncoding(dataBlockEncodingFromThrift(in.getDataBlockEncoding()));
+    }
+    if (in.isSetKeepDeletedCells()) {
+      builder.setKeepDeletedCells(keepDeletedCellsFromThrift(in.getKeepDeletedCells()));
+    }
+    if (in.isSetMaxVersions()) {
+      builder.setMaxVersions(in.getMaxVersions());
+    }
+    if (in.isSetMinVersions()) {
+      builder.setMinVersions(in.getMinVersions());
+    }
+    if (in.isSetScope()) {
+      builder.setScope(in.getScope());
+    }
+    if (in.isSetTimeToLive()) {
+      builder.setTimeToLive(in.getTimeToLive());
+    }
+    if (in.isSetBlockCacheEnabled()) {
+      builder.setBlockCacheEnabled(in.isBlockCacheEnabled());
+    }
+    if (in.isSetCacheBloomsOnWrite()) {
+      builder.setCacheBloomsOnWrite(in.isCacheBloomsOnWrite());
+    }
+    if (in.isSetCacheDataOnWrite()) {
+      builder.setCacheDataOnWrite(in.isCacheDataOnWrite());
+    }
+    if (in.isSetCacheIndexesOnWrite()) {
+      builder.setCacheIndexesOnWrite(in.isCacheIndexesOnWrite());
+    }
+    if (in.isSetCompressTags()) {
+      builder.setCompressTags(in.isCompressTags());
+    }
+    if (in.isSetEvictBlocksOnClose()) {
+      builder.setEvictBlocksOnClose(in.isEvictBlocksOnClose());
+    }
+    if (in.isSetInMemory()) {
+      builder.setInMemory(in.isInMemory());
+    }
+
+
+    return builder.build();
+  }
+
+  public static NamespaceDescriptor namespaceDescriptorFromThrift(TNamespaceDescriptor in) {
+    NamespaceDescriptor.Builder builder = NamespaceDescriptor.create(in.getName());
+    if (in.isSetConfiguration()) {
+      for (Map.Entry<String, String> conf : in.getConfiguration().entrySet()) {
+        builder.addConfiguration(conf.getKey(), conf.getValue());
+      }
+    }
+    return builder.build();
+  }
+
+  public static TNamespaceDescriptor namespaceDescriptorFromHBase(NamespaceDescriptor in) {
+    TNamespaceDescriptor out = new TNamespaceDescriptor();
+    out.setName(in.getName());
+    for (Map.Entry<String, String> conf : in.getConfiguration().entrySet()) {
+      out.putToConfiguration(conf.getKey(), conf.getValue());
+    }
+    return out;
+  }
+
+  public static List<TNamespaceDescriptor> namespaceDescriptorsFromHBase(
+      NamespaceDescriptor[] in) {
+    List<TNamespaceDescriptor> out = new ArrayList<>(in.length);
+    for (NamespaceDescriptor descriptor : in) {
+      out.add(namespaceDescriptorFromHBase(descriptor));
+    }
+    return out;
+  }
+
+  public static TableDescriptor tableDescriptorFromThrift(TTableDescriptor in) {
+    TableDescriptorBuilder builder = TableDescriptorBuilder
+        .newBuilder(tableNameFromThrift(in.getTableName()));
+    for (TColumnFamilyDescriptor column : in.getColumns()) {
+      builder.setColumnFamily(columnFamilyDescriptorFromThrift(column));
+    }
+    if (in.isSetAttributes()) {
+      for (Map.Entry<ByteBuffer, ByteBuffer> attribute : in.getAttributes().entrySet()) {
+        builder.setValue(attribute.getKey().array(), attribute.getValue().array());
+      }
+    }
+    if (in.isSetDurability()) {
+      builder.setDurability(durabilityFromThrift(in.getDurability()));
+    }
+    return builder.build();
+  }
+
+  private static TDurability durabilityFromHBase(Durability durability) {
+    switch (durability) {
+      case USE_DEFAULT: return TDurability.USE_DEFAULT;
+      case SKIP_WAL: return TDurability.SKIP_WAL;
+      case ASYNC_WAL: return TDurability.ASYNC_WAL;
+      case SYNC_WAL: return TDurability.SYNC_WAL;
+      case FSYNC_WAL: return TDurability.FSYNC_WAL;
+      default: return null;
+    }
+  }
+
+  public static TTableDescriptor tableDescriptorFromHBase(TableDescriptor in) {
+    TTableDescriptor out = new TTableDescriptor();
+    out.setTableName(tableNameFromHBase(in.getTableName()));
+    Map<Bytes, Bytes> attributes = in.getValues();
+    for (Map.Entry<Bytes, Bytes> attribute : attributes.entrySet()) {
+      out.putToAttributes(ByteBuffer.wrap(attribute.getKey().get()),
+          ByteBuffer.wrap(attribute.getValue().get()));
+    }
+    for (ColumnFamilyDescriptor column : in.getColumnFamilies()) {
+      out.addToColumns(columnFamilyDescriptorFromHBase(column));
+    }
+    out.setDurability(durabilityFromHBase(in.getDurability()));
+    return out;
+  }
+
+  public static List<TTableDescriptor> tableDescriptorsFromHBase(List<TableDescriptor> in) {
+    List<TTableDescriptor> out = new ArrayList<>(in.size());
+    for (TableDescriptor descriptor : in) {
+      out.add(tableDescriptorFromHBase(descriptor));
+    }
+    return out;
+  }
+
+  public static List<TTableDescriptor> tableDescriptorsFromHBase(TableDescriptor[] in) {
+    List<TTableDescriptor> out = new ArrayList<>(in.length);
+    for (TableDescriptor descriptor : in) {
+      out.add(tableDescriptorFromHBase(descriptor));
+    }
+    return out;
+  }
+
+
+  public static TBloomFilterType bloomFilterFromHBase(BloomType in) {
+    switch (in) {
+      case NONE: return TBloomFilterType.NONE;
+      case ROW: return TBloomFilterType.ROW;
+      case ROWCOL: return TBloomFilterType.ROWCOL;
+      case ROWPREFIX_FIXED_LENGTH: return TBloomFilterType.ROWPREFIX_FIXED_LENGTH;
+      case ROWPREFIX_DELIMITED: return TBloomFilterType.ROWPREFIX_DELIMITED;
+      default: return TBloomFilterType.ROW;
+    }
+  }
+
+  public static TCompressionAlgorithm compressionAlgorithmFromHBase(Compression.Algorithm in) {
+    switch (in) {
+      case LZO: return TCompressionAlgorithm.LZO;
+      case GZ: return TCompressionAlgorithm.GZ;
+      case NONE: return TCompressionAlgorithm.NONE;
+      case SNAPPY: return TCompressionAlgorithm.SNAPPY;
+      case LZ4: return TCompressionAlgorithm.LZ4;
+      case BZIP2: return TCompressionAlgorithm.BZIP2;
+      case ZSTD: return TCompressionAlgorithm.ZSTD;
+      default: return TCompressionAlgorithm.NONE;
+    }
+  }
+
+  public static TDataBlockEncoding dataBlockEncodingFromHBase(DataBlockEncoding in) {
+    switch (in) {
+      case NONE: return TDataBlockEncoding.NONE;
+      case PREFIX: return TDataBlockEncoding.PREFIX;
+      case DIFF: return TDataBlockEncoding.DIFF;
+      case FAST_DIFF: return TDataBlockEncoding.FAST_DIFF;
+      case ROW_INDEX_V1: return TDataBlockEncoding.ROW_INDEX_V1;
+      default: return TDataBlockEncoding.NONE;
+    }
+  }
+
+  public static TKeepDeletedCells keepDeletedCellsFromHBase(KeepDeletedCells in) {
+    switch (in) {
+      case FALSE: return TKeepDeletedCells.FALSE;
+      case TRUE: return TKeepDeletedCells.TRUE;
+      case TTL: return TKeepDeletedCells.TTL;
+      default: return TKeepDeletedCells.FALSE;
+    }
+  }
+
+  public static TColumnFamilyDescriptor columnFamilyDescriptorFromHBase(
+      ColumnFamilyDescriptor in) {
+    TColumnFamilyDescriptor out = new TColumnFamilyDescriptor();
+    out.setName(in.getName());
+    for (Map.Entry<Bytes, Bytes> attribute : in.getValues().entrySet()) {
+      out.putToAttributes(ByteBuffer.wrap(attribute.getKey().get()),
+          ByteBuffer.wrap(attribute.getValue().get()));
+    }
+    for (Map.Entry<String, String> conf : in.getConfiguration().entrySet()) {
+      out.putToConfiguration(conf.getKey(), conf.getValue());
+    }
+    out.setBlockSize(in.getBlocksize());
+    out.setBloomnFilterType(bloomFilterFromHBase(in.getBloomFilterType()));
+    out.setCompressionType(compressionAlgorithmFromHBase(in.getCompressionType()));
+    out.setDfsReplication(in.getDFSReplication());
+    out.setDataBlockEncoding(dataBlockEncodingFromHBase(in.getDataBlockEncoding()));
+    out.setKeepDeletedCells(keepDeletedCellsFromHBase(in.getKeepDeletedCells()));
+    out.setMaxVersions(in.getMaxVersions());
+    out.setMinVersions(in.getMinVersions());
+    out.setScope(in.getScope());
+    out.setTimeToLive(in.getTimeToLive());
+    out.setBlockCacheEnabled(in.isBlockCacheEnabled());
+    out.setCacheBloomsOnWrite(in.isCacheBloomsOnWrite());
+    out.setCacheDataOnWrite(in.isCacheDataOnWrite());
+    out.setCacheIndexesOnWrite(in.isCacheIndexesOnWrite());
+    out.setCompressTags(in.isCompressTags());
+    out.setEvictBlocksOnClose(in.isEvictBlocksOnClose());
+    out.setInMemory(in.isInMemory());
+    return out;
+  }
+
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/NamespaceDescriptor.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/NamespaceDescriptor.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/NamespaceDescriptor.java
new file mode 100644
index 0000000..3f9f512
--- /dev/null
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/NamespaceDescriptor.java
@@ -0,0 +1,554 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.hadoop.hbase.thrift2.generated;
+
+import org.apache.thrift.scheme.IScheme;
+import org.apache.thrift.scheme.SchemeFactory;
+import org.apache.thrift.scheme.StandardScheme;
+
+import org.apache.thrift.scheme.TupleScheme;
+import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.EnumMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.EnumSet;
+import java.util.Collections;
+import java.util.BitSet;
+import java.nio.ByteBuffer;
+import java.util.Arrays;
+import javax.annotation.Generated;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-26")
+public class NamespaceDescriptor implements org.apache.thrift.TBase<NamespaceDescriptor, NamespaceDescriptor._Fields>, java.io.Serializable, Cloneable, Comparable<NamespaceDescriptor> {
+  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NamespaceDescriptor");
+
+  private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1);
+  private static final org.apache.thrift.protocol.TField CONFIGURATION_FIELD_DESC = new org.apache.thrift.protocol.TField("configuration", org.apache.thrift.protocol.TType.MAP, (short)2);
+
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new NamespaceDescriptorStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new NamespaceDescriptorTupleSchemeFactory());
+  }
+
+  public String name; // required
+  public Map<String,String> configuration; // optional
+
+  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+    NAME((short)1, "name"),
+    CONFIGURATION((short)2, "configuration");
+
+    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+    static {
+      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        byName.put(field.getFieldName(), field);
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, or null if its not found.
+     */
+    public static _Fields findByThriftId(int fieldId) {
+      switch(fieldId) {
+        case 1: // NAME
+          return NAME;
+        case 2: // CONFIGURATION
+          return CONFIGURATION;
+        default:
+          return null;
+      }
+    }
+
+    /**
+     * Find the _Fields constant that matches fieldId, throwing an exception
+     * if it is not found.
+     */
+    public static _Fields findByThriftIdOrThrow(int fieldId) {
+      _Fields fields = findByThriftId(fieldId);
+      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      return fields;
+    }
+
+    /**
+     * Find the _Fields constant that matches name, or null if its not found.
+     */
+    public static _Fields findByName(String name) {
+      return byName.get(name);
+    }
+
+    private final short _thriftId;
+    private final String _fieldName;
+
+    _Fields(short thriftId, String fieldName) {
+      _thriftId = thriftId;
+      _fieldName = fieldName;
+    }
+
+    public short getThriftFieldId() {
+      return _thriftId;
+    }
+
+    public String getFieldName() {
+      return _fieldName;
+    }
+  }
+
+  // isset id assignments
+  private static final _Fields optionals[] = {_Fields.CONFIGURATION};
+  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  static {
+    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+    tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.CONFIGURATION, new org.apache.thrift.meta_data.FieldMetaData("configuration", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(NamespaceDescriptor.class, metaDataMap);
+  }
+
+  public NamespaceDescriptor() {
+  }
+
+  public NamespaceDescriptor(
+    String name)
+  {
+    this();
+    this.name = name;
+  }
+
+  /**
+   * Performs a deep copy on <i>other</i>.
+   */
+  public NamespaceDescriptor(NamespaceDescriptor other) {
+    if (other.isSetName()) {
+      this.name = other.name;
+    }
+    if (other.isSetConfiguration()) {
+      Map<String,String> __this__configuration = new HashMap<String,String>(other.configuration);
+      this.configuration = __this__configuration;
+    }
+  }
+
+  public NamespaceDescriptor deepCopy() {
+    return new NamespaceDescriptor(this);
+  }
+
+  @Override
+  public void clear() {
+    this.name = null;
+    this.configuration = null;
+  }
+
+  public String getName() {
+    return this.name;
+  }
+
+  public NamespaceDescriptor setName(String name) {
+    this.name = name;
+    return this;
+  }
+
+  public void unsetName() {
+    this.name = null;
+  }
+
+  /** Returns true if field name is set (has been assigned a value) and false otherwise */
+  public boolean isSetName() {
+    return this.name != null;
+  }
+
+  public void setNameIsSet(boolean value) {
+    if (!value) {
+      this.name = null;
+    }
+  }
+
+  public int getConfigurationSize() {
+    return (this.configuration == null) ? 0 : this.configuration.size();
+  }
+
+  public void putToConfiguration(String key, String val) {
+    if (this.configuration == null) {
+      this.configuration = new HashMap<String,String>();
+    }
+    this.configuration.put(key, val);
+  }
+
+  public Map<String,String> getConfiguration() {
+    return this.configuration;
+  }
+
+  public NamespaceDescriptor setConfiguration(Map<String,String> configuration) {
+    this.configuration = configuration;
+    return this;
+  }
+
+  public void unsetConfiguration() {
+    this.configuration = null;
+  }
+
+  /** Returns true if field configuration is set (has been assigned a value) and false otherwise */
+  public boolean isSetConfiguration() {
+    return this.configuration != null;
+  }
+
+  public void setConfigurationIsSet(boolean value) {
+    if (!value) {
+      this.configuration = null;
+    }
+  }
+
+  public void setFieldValue(_Fields field, Object value) {
+    switch (field) {
+    case NAME:
+      if (value == null) {
+        unsetName();
+      } else {
+        setName((String)value);
+      }
+      break;
+
+    case CONFIGURATION:
+      if (value == null) {
+        unsetConfiguration();
+      } else {
+        setConfiguration((Map<String,String>)value);
+      }
+      break;
+
+    }
+  }
+
+  public Object getFieldValue(_Fields field) {
+    switch (field) {
+    case NAME:
+      return getName();
+
+    case CONFIGURATION:
+      return getConfiguration();
+
+    }
+    throw new IllegalStateException();
+  }
+
+  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  public boolean isSet(_Fields field) {
+    if (field == null) {
+      throw new IllegalArgumentException();
+    }
+
+    switch (field) {
+    case NAME:
+      return isSetName();
+    case CONFIGURATION:
+      return isSetConfiguration();
+    }
+    throw new IllegalStateException();
+  }
+
+  @Override
+  public boolean equals(Object that) {
+    if (that == null)
+      return false;
+    if (that instanceof NamespaceDescriptor)
+      return this.equals((NamespaceDescriptor)that);
+    return false;
+  }
+
+  public boolean equals(NamespaceDescriptor that) {
+    if (that == null)
+      return false;
+
+    boolean this_present_name = true && this.isSetName();
+    boolean that_present_name = true && that.isSetName();
+    if (this_present_name || that_present_name) {
+      if (!(this_present_name && that_present_name))
+        return false;
+      if (!this.name.equals(that.name))
+        return false;
+    }
+
+    boolean this_present_configuration = true && this.isSetConfiguration();
+    boolean that_present_configuration = true && that.isSetConfiguration();
+    if (this_present_configuration || that_present_configuration) {
+      if (!(this_present_configuration && that_present_configuration))
+        return false;
+      if (!this.configuration.equals(that.configuration))
+        return false;
+    }
+
+    return true;
+  }
+
+  @Override
+  public int hashCode() {
+    List<Object> list = new ArrayList<Object>();
+
+    boolean present_name = true && (isSetName());
+    list.add(present_name);
+    if (present_name)
+      list.add(name);
+
+    boolean present_configuration = true && (isSetConfiguration());
+    list.add(present_configuration);
+    if (present_configuration)
+      list.add(configuration);
+
+    return list.hashCode();
+  }
+
+  @Override
+  public int compareTo(NamespaceDescriptor other) {
+    if (!getClass().equals(other.getClass())) {
+      return getClass().getName().compareTo(other.getClass().getName());
+    }
+
+    int lastComparison = 0;
+
+    lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetName()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetConfiguration()).compareTo(other.isSetConfiguration());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetConfiguration()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.configuration, other.configuration);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    return 0;
+  }
+
+  public _Fields fieldForId(int fieldId) {
+    return _Fields.findByThriftId(fieldId);
+  }
+
+  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+  }
+
+  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+  }
+
+  @Override
+  public String toString() {
+    StringBuilder sb = new StringBuilder("NamespaceDescriptor(");
+    boolean first = true;
+
+    sb.append("name:");
+    if (this.name == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.name);
+    }
+    first = false;
+    if (isSetConfiguration()) {
+      if (!first) sb.append(", ");
+      sb.append("configuration:");
+      if (this.configuration == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.configuration);
+      }
+      first = false;
+    }
+    sb.append(")");
+    return sb.toString();
+  }
+
+  public void validate() throws org.apache.thrift.TException {
+    // check for required fields
+    if (name == null) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'name' was not present! Struct: " + toString());
+    }
+    // check for sub-struct validity
+  }
+
+  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
+    try {
+      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    try {
+      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
+    } catch (org.apache.thrift.TException te) {
+      throw new java.io.IOException(te);
+    }
+  }
+
+  private static class NamespaceDescriptorStandardSchemeFactory implements SchemeFactory {
+    public NamespaceDescriptorStandardScheme getScheme() {
+      return new NamespaceDescriptorStandardScheme();
+    }
+  }
+
+  private static class NamespaceDescriptorStandardScheme extends StandardScheme<NamespaceDescriptor> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, NamespaceDescriptor struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.name = iprot.readString();
+              struct.setNameIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // CONFIGURATION
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map180 = iprot.readMapBegin();
+                struct.configuration = new HashMap<String,String>(2*_map180.size);
+                String _key181;
+                String _val182;
+                for (int _i183 = 0; _i183 < _map180.size; ++_i183)
+                {
+                  _key181 = iprot.readString();
+                  _val182 = iprot.readString();
+                  struct.configuration.put(_key181, _val182);
+                }
+                iprot.readMapEnd();
+              }
+              struct.setConfigurationIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, NamespaceDescriptor struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.name != null) {
+        oprot.writeFieldBegin(NAME_FIELD_DESC);
+        oprot.writeString(struct.name);
+        oprot.writeFieldEnd();
+      }
+      if (struct.configuration != null) {
+        if (struct.isSetConfiguration()) {
+          oprot.writeFieldBegin(CONFIGURATION_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.configuration.size()));
+            for (Map.Entry<String, String> _iter184 : struct.configuration.entrySet())
+            {
+              oprot.writeString(_iter184.getKey());
+              oprot.writeString(_iter184.getValue());
+            }
+            oprot.writeMapEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class NamespaceDescriptorTupleSchemeFactory implements SchemeFactory {
+    public NamespaceDescriptorTupleScheme getScheme() {
+      return new NamespaceDescriptorTupleScheme();
+    }
+  }
+
+  private static class NamespaceDescriptorTupleScheme extends TupleScheme<NamespaceDescriptor> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, NamespaceDescriptor struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.name);
+      BitSet optionals = new BitSet();
+      if (struct.isSetConfiguration()) {
+        optionals.set(0);
+      }
+      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetConfiguration()) {
+        {
+          oprot.writeI32(struct.configuration.size());
+          for (Map.Entry<String, String> _iter185 : struct.configuration.entrySet())
+          {
+            oprot.writeString(_iter185.getKey());
+            oprot.writeString(_iter185.getValue());
+          }
+        }
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, NamespaceDescriptor struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.name = iprot.readString();
+      struct.setNameIsSet(true);
+      BitSet incoming = iprot.readBitSet(1);
+      if (incoming.get(0)) {
+        {
+          org.apache.thrift.protocol.TMap _map186 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.configuration = new HashMap<String,String>(2*_map186.size);
+          String _key187;
+          String _val188;
+          for (int _i189 = 0; _i189 < _map186.size; ++_i189)
+          {
+            _key187 = iprot.readString();
+            _val188 = iprot.readString();
+            struct.configuration.put(_key187, _val188);
+          }
+        }
+        struct.setConfigurationIsSet(true);
+      }
+    }
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java
index e0e3074..c89f67b 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields>, java.io.Serializable, Cloneable, Comparable<TAppend> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TAppend");
 
@@ -43,6 +43,7 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
   private static final org.apache.thrift.protocol.TField ATTRIBUTES_FIELD_DESC = new org.apache.thrift.protocol.TField("attributes", org.apache.thrift.protocol.TType.MAP, (short)3);
   private static final org.apache.thrift.protocol.TField DURABILITY_FIELD_DESC = new org.apache.thrift.protocol.TField("durability", org.apache.thrift.protocol.TType.I32, (short)4);
   private static final org.apache.thrift.protocol.TField CELL_VISIBILITY_FIELD_DESC = new org.apache.thrift.protocol.TField("cellVisibility", org.apache.thrift.protocol.TType.STRUCT, (short)5);
+  private static final org.apache.thrift.protocol.TField RETURN_RESULTS_FIELD_DESC = new org.apache.thrift.protocol.TField("returnResults", org.apache.thrift.protocol.TType.BOOL, (short)6);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -59,6 +60,7 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
    */
   public TDurability durability; // optional
   public TCellVisibility cellVisibility; // optional
+  public boolean returnResults; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -70,7 +72,8 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
      * @see TDurability
      */
     DURABILITY((short)4, "durability"),
-    CELL_VISIBILITY((short)5, "cellVisibility");
+    CELL_VISIBILITY((short)5, "cellVisibility"),
+    RETURN_RESULTS((short)6, "returnResults");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -95,6 +98,8 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
           return DURABILITY;
         case 5: // CELL_VISIBILITY
           return CELL_VISIBILITY;
+        case 6: // RETURN_RESULTS
+          return RETURN_RESULTS;
         default:
           return null;
       }
@@ -135,7 +140,9 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
   }
 
   // isset id assignments
-  private static final _Fields optionals[] = {_Fields.ATTRIBUTES,_Fields.DURABILITY,_Fields.CELL_VISIBILITY};
+  private static final int __RETURNRESULTS_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.ATTRIBUTES,_Fields.DURABILITY,_Fields.CELL_VISIBILITY,_Fields.RETURN_RESULTS};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -152,6 +159,8 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TDurability.class)));
     tmpMap.put(_Fields.CELL_VISIBILITY, new org.apache.thrift.meta_data.FieldMetaData("cellVisibility", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TCellVisibility.class)));
+    tmpMap.put(_Fields.RETURN_RESULTS, new org.apache.thrift.meta_data.FieldMetaData("returnResults", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TAppend.class, metaDataMap);
   }
@@ -172,6 +181,7 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
    * Performs a deep copy on <i>other</i>.
    */
   public TAppend(TAppend other) {
+    __isset_bitfield = other.__isset_bitfield;
     if (other.isSetRow()) {
       this.row = org.apache.thrift.TBaseHelper.copyBinary(other.row);
     }
@@ -192,6 +202,7 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
     if (other.isSetCellVisibility()) {
       this.cellVisibility = new TCellVisibility(other.cellVisibility);
     }
+    this.returnResults = other.returnResults;
   }
 
   public TAppend deepCopy() {
@@ -205,6 +216,8 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
     this.attributes = null;
     this.durability = null;
     this.cellVisibility = null;
+    setReturnResultsIsSet(false);
+    this.returnResults = false;
   }
 
   public byte[] getRow() {
@@ -371,6 +384,29 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
     }
   }
 
+  public boolean isReturnResults() {
+    return this.returnResults;
+  }
+
+  public TAppend setReturnResults(boolean returnResults) {
+    this.returnResults = returnResults;
+    setReturnResultsIsSet(true);
+    return this;
+  }
+
+  public void unsetReturnResults() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __RETURNRESULTS_ISSET_ID);
+  }
+
+  /** Returns true if field returnResults is set (has been assigned a value) and false otherwise */
+  public boolean isSetReturnResults() {
+    return EncodingUtils.testBit(__isset_bitfield, __RETURNRESULTS_ISSET_ID);
+  }
+
+  public void setReturnResultsIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __RETURNRESULTS_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case ROW:
@@ -413,6 +449,14 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
       }
       break;
 
+    case RETURN_RESULTS:
+      if (value == null) {
+        unsetReturnResults();
+      } else {
+        setReturnResults((Boolean)value);
+      }
+      break;
+
     }
   }
 
@@ -433,6 +477,9 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
     case CELL_VISIBILITY:
       return getCellVisibility();
 
+    case RETURN_RESULTS:
+      return isReturnResults();
+
     }
     throw new IllegalStateException();
   }
@@ -454,6 +501,8 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
       return isSetDurability();
     case CELL_VISIBILITY:
       return isSetCellVisibility();
+    case RETURN_RESULTS:
+      return isSetReturnResults();
     }
     throw new IllegalStateException();
   }
@@ -516,6 +565,15 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
         return false;
     }
 
+    boolean this_present_returnResults = true && this.isSetReturnResults();
+    boolean that_present_returnResults = true && that.isSetReturnResults();
+    if (this_present_returnResults || that_present_returnResults) {
+      if (!(this_present_returnResults && that_present_returnResults))
+        return false;
+      if (this.returnResults != that.returnResults)
+        return false;
+    }
+
     return true;
   }
 
@@ -548,6 +606,11 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
     if (present_cellVisibility)
       list.add(cellVisibility);
 
+    boolean present_returnResults = true && (isSetReturnResults());
+    list.add(present_returnResults);
+    if (present_returnResults)
+      list.add(returnResults);
+
     return list.hashCode();
   }
 
@@ -609,6 +672,16 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetReturnResults()).compareTo(other.isSetReturnResults());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetReturnResults()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.returnResults, other.returnResults);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -674,6 +747,12 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
       }
       first = false;
     }
+    if (isSetReturnResults()) {
+      if (!first) sb.append(", ");
+      sb.append("returnResults:");
+      sb.append(this.returnResults);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -702,6 +781,8 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
 
   private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
     try {
+      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+      __isset_bitfield = 0;
       read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
     } catch (org.apache.thrift.TException te) {
       throw new java.io.IOException(te);
@@ -790,6 +871,14 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 6: // RETURN_RESULTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.returnResults = iprot.readBool();
+              struct.setReturnResultsIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -851,6 +940,11 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
           oprot.writeFieldEnd();
         }
       }
+      if (struct.isSetReturnResults()) {
+        oprot.writeFieldBegin(RETURN_RESULTS_FIELD_DESC);
+        oprot.writeBool(struct.returnResults);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -886,7 +980,10 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
       if (struct.isSetCellVisibility()) {
         optionals.set(2);
       }
-      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetReturnResults()) {
+        optionals.set(3);
+      }
+      oprot.writeBitSet(optionals, 4);
       if (struct.isSetAttributes()) {
         {
           oprot.writeI32(struct.attributes.size());
@@ -903,6 +1000,9 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
       if (struct.isSetCellVisibility()) {
         struct.cellVisibility.write(oprot);
       }
+      if (struct.isSetReturnResults()) {
+        oprot.writeBool(struct.returnResults);
+      }
     }
 
     @Override
@@ -922,7 +1022,7 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
         }
       }
       struct.setColumnsIsSet(true);
-      BitSet incoming = iprot.readBitSet(3);
+      BitSet incoming = iprot.readBitSet(4);
       if (incoming.get(0)) {
         {
           org.apache.thrift.protocol.TMap _map102 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
@@ -947,6 +1047,10 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
         struct.cellVisibility.read(iprot);
         struct.setCellVisibilityIsSet(true);
       }
+      if (incoming.get(3)) {
+        struct.returnResults = iprot.readBool();
+        struct.setReturnResultsIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAuthorization.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAuthorization.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAuthorization.java
index 6c355a6..1b168d8 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAuthorization.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAuthorization.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class TAuthorization implements org.apache.thrift.TBase<TAuthorization, TAuthorization._Fields>, java.io.Serializable, Cloneable, Comparable<TAuthorization> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TAuthorization");
 


[3/9] hbase git commit: HBASE-21650 Add DDL operation and some other miscellaneous to thrift2

Posted by al...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase/blob/4e8a8467/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THBaseService.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THBaseService.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THBaseService.java
index e8f36a0..7388443 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THBaseService.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THBaseService.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-07-04")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
 public class THBaseService {
 
   public interface Iface {
@@ -282,6 +282,56 @@ public class THBaseService {
      */
     public boolean checkAndMutate(ByteBuffer table, ByteBuffer row, ByteBuffer family, ByteBuffer qualifier, TCompareOp compareOp, ByteBuffer value, TRowMutations rowMutations) throws TIOError, org.apache.thrift.TException;
 
+    public TTableDescriptor getTableDescriptor(TTableName table) throws TIOError, org.apache.thrift.TException;
+
+    public List<TTableDescriptor> getTableDescriptors(List<TTableName> tables) throws TIOError, org.apache.thrift.TException;
+
+    public boolean tableExists(TTableName tableName) throws TIOError, org.apache.thrift.TException;
+
+    public List<TTableDescriptor> getTableDescriptorsByPattern(String regex, boolean includeSysTables) throws TIOError, org.apache.thrift.TException;
+
+    public List<TTableDescriptor> getTableDescriptorsByNamespace(String name) throws TIOError, org.apache.thrift.TException;
+
+    public List<TTableName> getTableNamesByPattern(String regex, boolean includeSysTables) throws TIOError, org.apache.thrift.TException;
+
+    public List<TTableName> getTableNamesByNamespace(String name) throws TIOError, org.apache.thrift.TException;
+
+    public void createTable(TTableDescriptor desc, List<ByteBuffer> splitKeys) throws TIOError, org.apache.thrift.TException;
+
+    public void deleteTable(TTableName tableName) throws TIOError, org.apache.thrift.TException;
+
+    public void truncateTable(TTableName tableName, boolean preserveSplits) throws TIOError, org.apache.thrift.TException;
+
+    public void enableTable(TTableName tableName) throws TIOError, org.apache.thrift.TException;
+
+    public void disableTable(TTableName tableName) throws TIOError, org.apache.thrift.TException;
+
+    public boolean isTableEnabled(TTableName tableName) throws TIOError, org.apache.thrift.TException;
+
+    public boolean isTableDisabled(TTableName tableName) throws TIOError, org.apache.thrift.TException;
+
+    public boolean isTableAvailable(TTableName tableName) throws TIOError, org.apache.thrift.TException;
+
+    public boolean isTableAvailableWithSplit(TTableName tableName, List<ByteBuffer> splitKeys) throws TIOError, org.apache.thrift.TException;
+
+    public void addColumnFamily(TTableName tableName, TColumnFamilyDescriptor column) throws TIOError, org.apache.thrift.TException;
+
+    public void deleteColumnFamily(TTableName tableName, ByteBuffer column) throws TIOError, org.apache.thrift.TException;
+
+    public void modifyColumnFamily(TTableName tableName, TColumnFamilyDescriptor column) throws TIOError, org.apache.thrift.TException;
+
+    public void modifyTable(TTableDescriptor desc) throws TIOError, org.apache.thrift.TException;
+
+    public void createNamespace(TNamespaceDescriptor namespaceDesc) throws TIOError, org.apache.thrift.TException;
+
+    public void modifyNamespace(TNamespaceDescriptor namespaceDesc) throws TIOError, org.apache.thrift.TException;
+
+    public void deleteNamespace(String name) throws TIOError, org.apache.thrift.TException;
+
+    public TNamespaceDescriptor getNamespaceDescriptor(String name) throws TIOError, org.apache.thrift.TException;
+
+    public List<TNamespaceDescriptor> listNamespaceDescriptors() throws TIOError, org.apache.thrift.TException;
+
   }
 
   public interface AsyncIface {
@@ -326,6 +376,56 @@ public class THBaseService {
 
     public void checkAndMutate(ByteBuffer table, ByteBuffer row, ByteBuffer family, ByteBuffer qualifier, TCompareOp compareOp, ByteBuffer value, TRowMutations rowMutations, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
+    public void getTableDescriptor(TTableName table, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getTableDescriptors(List<TTableName> tables, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void tableExists(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getTableDescriptorsByPattern(String regex, boolean includeSysTables, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getTableDescriptorsByNamespace(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getTableNamesByPattern(String regex, boolean includeSysTables, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getTableNamesByNamespace(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void createTable(TTableDescriptor desc, List<ByteBuffer> splitKeys, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void deleteTable(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void truncateTable(TTableName tableName, boolean preserveSplits, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void enableTable(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void disableTable(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void isTableEnabled(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void isTableDisabled(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void isTableAvailable(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void isTableAvailableWithSplit(TTableName tableName, List<ByteBuffer> splitKeys, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void addColumnFamily(TTableName tableName, TColumnFamilyDescriptor column, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void deleteColumnFamily(TTableName tableName, ByteBuffer column, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void modifyColumnFamily(TTableName tableName, TColumnFamilyDescriptor column, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void modifyTable(TTableDescriptor desc, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void createNamespace(TNamespaceDescriptor namespaceDesc, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void modifyNamespace(TNamespaceDescriptor namespaceDesc, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void deleteNamespace(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void getNamespaceDescriptor(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
+    public void listNamespaceDescriptors(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+
   }
 
   public static class Client extends org.apache.thrift.TServiceClient implements Iface {
@@ -892,6 +992,627 @@ public class THBaseService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "checkAndMutate failed: unknown result");
     }
 
+    public TTableDescriptor getTableDescriptor(TTableName table) throws TIOError, org.apache.thrift.TException
+    {
+      send_getTableDescriptor(table);
+      return recv_getTableDescriptor();
+    }
+
+    public void send_getTableDescriptor(TTableName table) throws org.apache.thrift.TException
+    {
+      getTableDescriptor_args args = new getTableDescriptor_args();
+      args.setTable(table);
+      sendBase("getTableDescriptor", args);
+    }
+
+    public TTableDescriptor recv_getTableDescriptor() throws TIOError, org.apache.thrift.TException
+    {
+      getTableDescriptor_result result = new getTableDescriptor_result();
+      receiveBase(result, "getTableDescriptor");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.io != null) {
+        throw result.io;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTableDescriptor failed: unknown result");
+    }
+
+    public List<TTableDescriptor> getTableDescriptors(List<TTableName> tables) throws TIOError, org.apache.thrift.TException
+    {
+      send_getTableDescriptors(tables);
+      return recv_getTableDescriptors();
+    }
+
+    public void send_getTableDescriptors(List<TTableName> tables) throws org.apache.thrift.TException
+    {
+      getTableDescriptors_args args = new getTableDescriptors_args();
+      args.setTables(tables);
+      sendBase("getTableDescriptors", args);
+    }
+
+    public List<TTableDescriptor> recv_getTableDescriptors() throws TIOError, org.apache.thrift.TException
+    {
+      getTableDescriptors_result result = new getTableDescriptors_result();
+      receiveBase(result, "getTableDescriptors");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.io != null) {
+        throw result.io;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTableDescriptors failed: unknown result");
+    }
+
+    public boolean tableExists(TTableName tableName) throws TIOError, org.apache.thrift.TException
+    {
+      send_tableExists(tableName);
+      return recv_tableExists();
+    }
+
+    public void send_tableExists(TTableName tableName) throws org.apache.thrift.TException
+    {
+      tableExists_args args = new tableExists_args();
+      args.setTableName(tableName);
+      sendBase("tableExists", args);
+    }
+
+    public boolean recv_tableExists() throws TIOError, org.apache.thrift.TException
+    {
+      tableExists_result result = new tableExists_result();
+      receiveBase(result, "tableExists");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.io != null) {
+        throw result.io;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "tableExists failed: unknown result");
+    }
+
+    public List<TTableDescriptor> getTableDescriptorsByPattern(String regex, boolean includeSysTables) throws TIOError, org.apache.thrift.TException
+    {
+      send_getTableDescriptorsByPattern(regex, includeSysTables);
+      return recv_getTableDescriptorsByPattern();
+    }
+
+    public void send_getTableDescriptorsByPattern(String regex, boolean includeSysTables) throws org.apache.thrift.TException
+    {
+      getTableDescriptorsByPattern_args args = new getTableDescriptorsByPattern_args();
+      args.setRegex(regex);
+      args.setIncludeSysTables(includeSysTables);
+      sendBase("getTableDescriptorsByPattern", args);
+    }
+
+    public List<TTableDescriptor> recv_getTableDescriptorsByPattern() throws TIOError, org.apache.thrift.TException
+    {
+      getTableDescriptorsByPattern_result result = new getTableDescriptorsByPattern_result();
+      receiveBase(result, "getTableDescriptorsByPattern");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.io != null) {
+        throw result.io;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTableDescriptorsByPattern failed: unknown result");
+    }
+
+    public List<TTableDescriptor> getTableDescriptorsByNamespace(String name) throws TIOError, org.apache.thrift.TException
+    {
+      send_getTableDescriptorsByNamespace(name);
+      return recv_getTableDescriptorsByNamespace();
+    }
+
+    public void send_getTableDescriptorsByNamespace(String name) throws org.apache.thrift.TException
+    {
+      getTableDescriptorsByNamespace_args args = new getTableDescriptorsByNamespace_args();
+      args.setName(name);
+      sendBase("getTableDescriptorsByNamespace", args);
+    }
+
+    public List<TTableDescriptor> recv_getTableDescriptorsByNamespace() throws TIOError, org.apache.thrift.TException
+    {
+      getTableDescriptorsByNamespace_result result = new getTableDescriptorsByNamespace_result();
+      receiveBase(result, "getTableDescriptorsByNamespace");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.io != null) {
+        throw result.io;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTableDescriptorsByNamespace failed: unknown result");
+    }
+
+    public List<TTableName> getTableNamesByPattern(String regex, boolean includeSysTables) throws TIOError, org.apache.thrift.TException
+    {
+      send_getTableNamesByPattern(regex, includeSysTables);
+      return recv_getTableNamesByPattern();
+    }
+
+    public void send_getTableNamesByPattern(String regex, boolean includeSysTables) throws org.apache.thrift.TException
+    {
+      getTableNamesByPattern_args args = new getTableNamesByPattern_args();
+      args.setRegex(regex);
+      args.setIncludeSysTables(includeSysTables);
+      sendBase("getTableNamesByPattern", args);
+    }
+
+    public List<TTableName> recv_getTableNamesByPattern() throws TIOError, org.apache.thrift.TException
+    {
+      getTableNamesByPattern_result result = new getTableNamesByPattern_result();
+      receiveBase(result, "getTableNamesByPattern");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.io != null) {
+        throw result.io;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTableNamesByPattern failed: unknown result");
+    }
+
+    public List<TTableName> getTableNamesByNamespace(String name) throws TIOError, org.apache.thrift.TException
+    {
+      send_getTableNamesByNamespace(name);
+      return recv_getTableNamesByNamespace();
+    }
+
+    public void send_getTableNamesByNamespace(String name) throws org.apache.thrift.TException
+    {
+      getTableNamesByNamespace_args args = new getTableNamesByNamespace_args();
+      args.setName(name);
+      sendBase("getTableNamesByNamespace", args);
+    }
+
+    public List<TTableName> recv_getTableNamesByNamespace() throws TIOError, org.apache.thrift.TException
+    {
+      getTableNamesByNamespace_result result = new getTableNamesByNamespace_result();
+      receiveBase(result, "getTableNamesByNamespace");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.io != null) {
+        throw result.io;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTableNamesByNamespace failed: unknown result");
+    }
+
+    public void createTable(TTableDescriptor desc, List<ByteBuffer> splitKeys) throws TIOError, org.apache.thrift.TException
+    {
+      send_createTable(desc, splitKeys);
+      recv_createTable();
+    }
+
+    public void send_createTable(TTableDescriptor desc, List<ByteBuffer> splitKeys) throws org.apache.thrift.TException
+    {
+      createTable_args args = new createTable_args();
+      args.setDesc(desc);
+      args.setSplitKeys(splitKeys);
+      sendBase("createTable", args);
+    }
+
+    public void recv_createTable() throws TIOError, org.apache.thrift.TException
+    {
+      createTable_result result = new createTable_result();
+      receiveBase(result, "createTable");
+      if (result.io != null) {
+        throw result.io;
+      }
+      return;
+    }
+
+    public void deleteTable(TTableName tableName) throws TIOError, org.apache.thrift.TException
+    {
+      send_deleteTable(tableName);
+      recv_deleteTable();
+    }
+
+    public void send_deleteTable(TTableName tableName) throws org.apache.thrift.TException
+    {
+      deleteTable_args args = new deleteTable_args();
+      args.setTableName(tableName);
+      sendBase("deleteTable", args);
+    }
+
+    public void recv_deleteTable() throws TIOError, org.apache.thrift.TException
+    {
+      deleteTable_result result = new deleteTable_result();
+      receiveBase(result, "deleteTable");
+      if (result.io != null) {
+        throw result.io;
+      }
+      return;
+    }
+
+    public void truncateTable(TTableName tableName, boolean preserveSplits) throws TIOError, org.apache.thrift.TException
+    {
+      send_truncateTable(tableName, preserveSplits);
+      recv_truncateTable();
+    }
+
+    public void send_truncateTable(TTableName tableName, boolean preserveSplits) throws org.apache.thrift.TException
+    {
+      truncateTable_args args = new truncateTable_args();
+      args.setTableName(tableName);
+      args.setPreserveSplits(preserveSplits);
+      sendBase("truncateTable", args);
+    }
+
+    public void recv_truncateTable() throws TIOError, org.apache.thrift.TException
+    {
+      truncateTable_result result = new truncateTable_result();
+      receiveBase(result, "truncateTable");
+      if (result.io != null) {
+        throw result.io;
+      }
+      return;
+    }
+
+    public void enableTable(TTableName tableName) throws TIOError, org.apache.thrift.TException
+    {
+      send_enableTable(tableName);
+      recv_enableTable();
+    }
+
+    public void send_enableTable(TTableName tableName) throws org.apache.thrift.TException
+    {
+      enableTable_args args = new enableTable_args();
+      args.setTableName(tableName);
+      sendBase("enableTable", args);
+    }
+
+    public void recv_enableTable() throws TIOError, org.apache.thrift.TException
+    {
+      enableTable_result result = new enableTable_result();
+      receiveBase(result, "enableTable");
+      if (result.io != null) {
+        throw result.io;
+      }
+      return;
+    }
+
+    public void disableTable(TTableName tableName) throws TIOError, org.apache.thrift.TException
+    {
+      send_disableTable(tableName);
+      recv_disableTable();
+    }
+
+    public void send_disableTable(TTableName tableName) throws org.apache.thrift.TException
+    {
+      disableTable_args args = new disableTable_args();
+      args.setTableName(tableName);
+      sendBase("disableTable", args);
+    }
+
+    public void recv_disableTable() throws TIOError, org.apache.thrift.TException
+    {
+      disableTable_result result = new disableTable_result();
+      receiveBase(result, "disableTable");
+      if (result.io != null) {
+        throw result.io;
+      }
+      return;
+    }
+
+    public boolean isTableEnabled(TTableName tableName) throws TIOError, org.apache.thrift.TException
+    {
+      send_isTableEnabled(tableName);
+      return recv_isTableEnabled();
+    }
+
+    public void send_isTableEnabled(TTableName tableName) throws org.apache.thrift.TException
+    {
+      isTableEnabled_args args = new isTableEnabled_args();
+      args.setTableName(tableName);
+      sendBase("isTableEnabled", args);
+    }
+
+    public boolean recv_isTableEnabled() throws TIOError, org.apache.thrift.TException
+    {
+      isTableEnabled_result result = new isTableEnabled_result();
+      receiveBase(result, "isTableEnabled");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.io != null) {
+        throw result.io;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isTableEnabled failed: unknown result");
+    }
+
+    public boolean isTableDisabled(TTableName tableName) throws TIOError, org.apache.thrift.TException
+    {
+      send_isTableDisabled(tableName);
+      return recv_isTableDisabled();
+    }
+
+    public void send_isTableDisabled(TTableName tableName) throws org.apache.thrift.TException
+    {
+      isTableDisabled_args args = new isTableDisabled_args();
+      args.setTableName(tableName);
+      sendBase("isTableDisabled", args);
+    }
+
+    public boolean recv_isTableDisabled() throws TIOError, org.apache.thrift.TException
+    {
+      isTableDisabled_result result = new isTableDisabled_result();
+      receiveBase(result, "isTableDisabled");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.io != null) {
+        throw result.io;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isTableDisabled failed: unknown result");
+    }
+
+    public boolean isTableAvailable(TTableName tableName) throws TIOError, org.apache.thrift.TException
+    {
+      send_isTableAvailable(tableName);
+      return recv_isTableAvailable();
+    }
+
+    public void send_isTableAvailable(TTableName tableName) throws org.apache.thrift.TException
+    {
+      isTableAvailable_args args = new isTableAvailable_args();
+      args.setTableName(tableName);
+      sendBase("isTableAvailable", args);
+    }
+
+    public boolean recv_isTableAvailable() throws TIOError, org.apache.thrift.TException
+    {
+      isTableAvailable_result result = new isTableAvailable_result();
+      receiveBase(result, "isTableAvailable");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.io != null) {
+        throw result.io;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isTableAvailable failed: unknown result");
+    }
+
+    public boolean isTableAvailableWithSplit(TTableName tableName, List<ByteBuffer> splitKeys) throws TIOError, org.apache.thrift.TException
+    {
+      send_isTableAvailableWithSplit(tableName, splitKeys);
+      return recv_isTableAvailableWithSplit();
+    }
+
+    public void send_isTableAvailableWithSplit(TTableName tableName, List<ByteBuffer> splitKeys) throws org.apache.thrift.TException
+    {
+      isTableAvailableWithSplit_args args = new isTableAvailableWithSplit_args();
+      args.setTableName(tableName);
+      args.setSplitKeys(splitKeys);
+      sendBase("isTableAvailableWithSplit", args);
+    }
+
+    public boolean recv_isTableAvailableWithSplit() throws TIOError, org.apache.thrift.TException
+    {
+      isTableAvailableWithSplit_result result = new isTableAvailableWithSplit_result();
+      receiveBase(result, "isTableAvailableWithSplit");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.io != null) {
+        throw result.io;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isTableAvailableWithSplit failed: unknown result");
+    }
+
+    public void addColumnFamily(TTableName tableName, TColumnFamilyDescriptor column) throws TIOError, org.apache.thrift.TException
+    {
+      send_addColumnFamily(tableName, column);
+      recv_addColumnFamily();
+    }
+
+    public void send_addColumnFamily(TTableName tableName, TColumnFamilyDescriptor column) throws org.apache.thrift.TException
+    {
+      addColumnFamily_args args = new addColumnFamily_args();
+      args.setTableName(tableName);
+      args.setColumn(column);
+      sendBase("addColumnFamily", args);
+    }
+
+    public void recv_addColumnFamily() throws TIOError, org.apache.thrift.TException
+    {
+      addColumnFamily_result result = new addColumnFamily_result();
+      receiveBase(result, "addColumnFamily");
+      if (result.io != null) {
+        throw result.io;
+      }
+      return;
+    }
+
+    public void deleteColumnFamily(TTableName tableName, ByteBuffer column) throws TIOError, org.apache.thrift.TException
+    {
+      send_deleteColumnFamily(tableName, column);
+      recv_deleteColumnFamily();
+    }
+
+    public void send_deleteColumnFamily(TTableName tableName, ByteBuffer column) throws org.apache.thrift.TException
+    {
+      deleteColumnFamily_args args = new deleteColumnFamily_args();
+      args.setTableName(tableName);
+      args.setColumn(column);
+      sendBase("deleteColumnFamily", args);
+    }
+
+    public void recv_deleteColumnFamily() throws TIOError, org.apache.thrift.TException
+    {
+      deleteColumnFamily_result result = new deleteColumnFamily_result();
+      receiveBase(result, "deleteColumnFamily");
+      if (result.io != null) {
+        throw result.io;
+      }
+      return;
+    }
+
+    public void modifyColumnFamily(TTableName tableName, TColumnFamilyDescriptor column) throws TIOError, org.apache.thrift.TException
+    {
+      send_modifyColumnFamily(tableName, column);
+      recv_modifyColumnFamily();
+    }
+
+    public void send_modifyColumnFamily(TTableName tableName, TColumnFamilyDescriptor column) throws org.apache.thrift.TException
+    {
+      modifyColumnFamily_args args = new modifyColumnFamily_args();
+      args.setTableName(tableName);
+      args.setColumn(column);
+      sendBase("modifyColumnFamily", args);
+    }
+
+    public void recv_modifyColumnFamily() throws TIOError, org.apache.thrift.TException
+    {
+      modifyColumnFamily_result result = new modifyColumnFamily_result();
+      receiveBase(result, "modifyColumnFamily");
+      if (result.io != null) {
+        throw result.io;
+      }
+      return;
+    }
+
+    public void modifyTable(TTableDescriptor desc) throws TIOError, org.apache.thrift.TException
+    {
+      send_modifyTable(desc);
+      recv_modifyTable();
+    }
+
+    public void send_modifyTable(TTableDescriptor desc) throws org.apache.thrift.TException
+    {
+      modifyTable_args args = new modifyTable_args();
+      args.setDesc(desc);
+      sendBase("modifyTable", args);
+    }
+
+    public void recv_modifyTable() throws TIOError, org.apache.thrift.TException
+    {
+      modifyTable_result result = new modifyTable_result();
+      receiveBase(result, "modifyTable");
+      if (result.io != null) {
+        throw result.io;
+      }
+      return;
+    }
+
+    public void createNamespace(TNamespaceDescriptor namespaceDesc) throws TIOError, org.apache.thrift.TException
+    {
+      send_createNamespace(namespaceDesc);
+      recv_createNamespace();
+    }
+
+    public void send_createNamespace(TNamespaceDescriptor namespaceDesc) throws org.apache.thrift.TException
+    {
+      createNamespace_args args = new createNamespace_args();
+      args.setNamespaceDesc(namespaceDesc);
+      sendBase("createNamespace", args);
+    }
+
+    public void recv_createNamespace() throws TIOError, org.apache.thrift.TException
+    {
+      createNamespace_result result = new createNamespace_result();
+      receiveBase(result, "createNamespace");
+      if (result.io != null) {
+        throw result.io;
+      }
+      return;
+    }
+
+    public void modifyNamespace(TNamespaceDescriptor namespaceDesc) throws TIOError, org.apache.thrift.TException
+    {
+      send_modifyNamespace(namespaceDesc);
+      recv_modifyNamespace();
+    }
+
+    public void send_modifyNamespace(TNamespaceDescriptor namespaceDesc) throws org.apache.thrift.TException
+    {
+      modifyNamespace_args args = new modifyNamespace_args();
+      args.setNamespaceDesc(namespaceDesc);
+      sendBase("modifyNamespace", args);
+    }
+
+    public void recv_modifyNamespace() throws TIOError, org.apache.thrift.TException
+    {
+      modifyNamespace_result result = new modifyNamespace_result();
+      receiveBase(result, "modifyNamespace");
+      if (result.io != null) {
+        throw result.io;
+      }
+      return;
+    }
+
+    public void deleteNamespace(String name) throws TIOError, org.apache.thrift.TException
+    {
+      send_deleteNamespace(name);
+      recv_deleteNamespace();
+    }
+
+    public void send_deleteNamespace(String name) throws org.apache.thrift.TException
+    {
+      deleteNamespace_args args = new deleteNamespace_args();
+      args.setName(name);
+      sendBase("deleteNamespace", args);
+    }
+
+    public void recv_deleteNamespace() throws TIOError, org.apache.thrift.TException
+    {
+      deleteNamespace_result result = new deleteNamespace_result();
+      receiveBase(result, "deleteNamespace");
+      if (result.io != null) {
+        throw result.io;
+      }
+      return;
+    }
+
+    public TNamespaceDescriptor getNamespaceDescriptor(String name) throws TIOError, org.apache.thrift.TException
+    {
+      send_getNamespaceDescriptor(name);
+      return recv_getNamespaceDescriptor();
+    }
+
+    public void send_getNamespaceDescriptor(String name) throws org.apache.thrift.TException
+    {
+      getNamespaceDescriptor_args args = new getNamespaceDescriptor_args();
+      args.setName(name);
+      sendBase("getNamespaceDescriptor", args);
+    }
+
+    public TNamespaceDescriptor recv_getNamespaceDescriptor() throws TIOError, org.apache.thrift.TException
+    {
+      getNamespaceDescriptor_result result = new getNamespaceDescriptor_result();
+      receiveBase(result, "getNamespaceDescriptor");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.io != null) {
+        throw result.io;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getNamespaceDescriptor failed: unknown result");
+    }
+
+    public List<TNamespaceDescriptor> listNamespaceDescriptors() throws TIOError, org.apache.thrift.TException
+    {
+      send_listNamespaceDescriptors();
+      return recv_listNamespaceDescriptors();
+    }
+
+    public void send_listNamespaceDescriptors() throws org.apache.thrift.TException
+    {
+      listNamespaceDescriptors_args args = new listNamespaceDescriptors_args();
+      sendBase("listNamespaceDescriptors", args);
+    }
+
+    public List<TNamespaceDescriptor> recv_listNamespaceDescriptors() throws TIOError, org.apache.thrift.TException
+    {
+      listNamespaceDescriptors_result result = new listNamespaceDescriptors_result();
+      receiveBase(result, "listNamespaceDescriptors");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.io != null) {
+        throw result.io;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "listNamespaceDescriptors failed: unknown result");
+    }
+
   }
   public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
     public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
@@ -1649,544 +2370,840 @@ public class THBaseService {
       }
     }
 
-  }
-
-  public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
-    private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName());
-    public Processor(I iface) {
-      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
+    public void getTableDescriptor(TTableName table, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getTableDescriptor_call method_call = new getTableDescriptor_call(table, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
     }
 
-    protected Processor(I iface, Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
-      super(iface, getProcessMap(processMap));
-    }
+    public static class getTableDescriptor_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private TTableName table;
+      public getTableDescriptor_call(TTableName table, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.table = table;
+      }
 
-    private static <I extends Iface> Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
-      processMap.put("exists", new exists());
-      processMap.put("existsAll", new existsAll());
-      processMap.put("get", new get());
-      processMap.put("getMultiple", new getMultiple());
-      processMap.put("put", new put());
-      processMap.put("checkAndPut", new checkAndPut());
-      processMap.put("putMultiple", new putMultiple());
-      processMap.put("deleteSingle", new deleteSingle());
-      processMap.put("deleteMultiple", new deleteMultiple());
-      processMap.put("checkAndDelete", new checkAndDelete());
-      processMap.put("increment", new increment());
-      processMap.put("append", new append());
-      processMap.put("openScanner", new openScanner());
-      processMap.put("getScannerRows", new getScannerRows());
-      processMap.put("closeScanner", new closeScanner());
-      processMap.put("mutateRow", new mutateRow());
-      processMap.put("getScannerResults", new getScannerResults());
-      processMap.put("getRegionLocation", new getRegionLocation());
-      processMap.put("getAllRegionLocations", new getAllRegionLocations());
-      processMap.put("checkAndMutate", new checkAndMutate());
-      return processMap;
-    }
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTableDescriptor", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getTableDescriptor_args args = new getTableDescriptor_args();
+        args.setTable(table);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
 
-    public static class exists<I extends Iface> extends org.apache.thrift.ProcessFunction<I, exists_args> {
-      public exists() {
-        super("exists");
+      public TTableDescriptor getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getTableDescriptor();
       }
+    }
 
-      public exists_args getEmptyArgsInstance() {
-        return new exists_args();
+    public void getTableDescriptors(List<TTableName> tables, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getTableDescriptors_call method_call = new getTableDescriptors_call(tables, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getTableDescriptors_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private List<TTableName> tables;
+      public getTableDescriptors_call(List<TTableName> tables, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tables = tables;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTableDescriptors", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getTableDescriptors_args args = new getTableDescriptors_args();
+        args.setTables(tables);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public exists_result getResult(I iface, exists_args args) throws org.apache.thrift.TException {
-        exists_result result = new exists_result();
-        try {
-          result.success = iface.exists(args.table, args.tget);
-          result.setSuccessIsSet(true);
-        } catch (TIOError io) {
-          result.io = io;
+      public List<TTableDescriptor> getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getTableDescriptors();
       }
     }
 
-    public static class existsAll<I extends Iface> extends org.apache.thrift.ProcessFunction<I, existsAll_args> {
-      public existsAll() {
-        super("existsAll");
-      }
+    public void tableExists(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      tableExists_call method_call = new tableExists_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public existsAll_args getEmptyArgsInstance() {
-        return new existsAll_args();
+    public static class tableExists_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private TTableName tableName;
+      public tableExists_call(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableName = tableName;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("tableExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        tableExists_args args = new tableExists_args();
+        args.setTableName(tableName);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public existsAll_result getResult(I iface, existsAll_args args) throws org.apache.thrift.TException {
-        existsAll_result result = new existsAll_result();
-        try {
-          result.success = iface.existsAll(args.table, args.tgets);
-        } catch (TIOError io) {
-          result.io = io;
+      public boolean getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_tableExists();
       }
     }
 
-    public static class get<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_args> {
-      public get() {
-        super("get");
-      }
+    public void getTableDescriptorsByPattern(String regex, boolean includeSysTables, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getTableDescriptorsByPattern_call method_call = new getTableDescriptorsByPattern_call(regex, includeSysTables, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public get_args getEmptyArgsInstance() {
-        return new get_args();
+    public static class getTableDescriptorsByPattern_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String regex;
+      private boolean includeSysTables;
+      public getTableDescriptorsByPattern_call(String regex, boolean includeSysTables, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.regex = regex;
+        this.includeSysTables = includeSysTables;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTableDescriptorsByPattern", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getTableDescriptorsByPattern_args args = new getTableDescriptorsByPattern_args();
+        args.setRegex(regex);
+        args.setIncludeSysTables(includeSysTables);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public get_result getResult(I iface, get_args args) throws org.apache.thrift.TException {
-        get_result result = new get_result();
-        try {
-          result.success = iface.get(args.table, args.tget);
-        } catch (TIOError io) {
-          result.io = io;
+      public List<TTableDescriptor> getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getTableDescriptorsByPattern();
       }
     }
 
-    public static class getMultiple<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getMultiple_args> {
-      public getMultiple() {
-        super("getMultiple");
-      }
+    public void getTableDescriptorsByNamespace(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getTableDescriptorsByNamespace_call method_call = new getTableDescriptorsByNamespace_call(name, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public getMultiple_args getEmptyArgsInstance() {
-        return new getMultiple_args();
+    public static class getTableDescriptorsByNamespace_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String name;
+      public getTableDescriptorsByNamespace_call(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.name = name;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTableDescriptorsByNamespace", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getTableDescriptorsByNamespace_args args = new getTableDescriptorsByNamespace_args();
+        args.setName(name);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public getMultiple_result getResult(I iface, getMultiple_args args) throws org.apache.thrift.TException {
-        getMultiple_result result = new getMultiple_result();
-        try {
-          result.success = iface.getMultiple(args.table, args.tgets);
-        } catch (TIOError io) {
-          result.io = io;
+      public List<TTableDescriptor> getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getTableDescriptorsByNamespace();
       }
     }
 
-    public static class put<I extends Iface> extends org.apache.thrift.ProcessFunction<I, put_args> {
-      public put() {
-        super("put");
-      }
+    public void getTableNamesByPattern(String regex, boolean includeSysTables, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getTableNamesByPattern_call method_call = new getTableNamesByPattern_call(regex, includeSysTables, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public put_args getEmptyArgsInstance() {
-        return new put_args();
+    public static class getTableNamesByPattern_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String regex;
+      private boolean includeSysTables;
+      public getTableNamesByPattern_call(String regex, boolean includeSysTables, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.regex = regex;
+        this.includeSysTables = includeSysTables;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTableNamesByPattern", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getTableNamesByPattern_args args = new getTableNamesByPattern_args();
+        args.setRegex(regex);
+        args.setIncludeSysTables(includeSysTables);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public put_result getResult(I iface, put_args args) throws org.apache.thrift.TException {
-        put_result result = new put_result();
-        try {
-          iface.put(args.table, args.tput);
-        } catch (TIOError io) {
-          result.io = io;
+      public List<TTableName> getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getTableNamesByPattern();
       }
     }
 
-    public static class checkAndPut<I extends Iface> extends org.apache.thrift.ProcessFunction<I, checkAndPut_args> {
-      public checkAndPut() {
-        super("checkAndPut");
-      }
+    public void getTableNamesByNamespace(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getTableNamesByNamespace_call method_call = new getTableNamesByNamespace_call(name, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public checkAndPut_args getEmptyArgsInstance() {
-        return new checkAndPut_args();
+    public static class getTableNamesByNamespace_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String name;
+      public getTableNamesByNamespace_call(String name, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.name = name;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getTableNamesByNamespace", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getTableNamesByNamespace_args args = new getTableNamesByNamespace_args();
+        args.setName(name);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public checkAndPut_result getResult(I iface, checkAndPut_args args) throws org.apache.thrift.TException {
-        checkAndPut_result result = new checkAndPut_result();
-        try {
-          result.success = iface.checkAndPut(args.table, args.row, args.family, args.qualifier, args.value, args.tput);
-          result.setSuccessIsSet(true);
-        } catch (TIOError io) {
-          result.io = io;
+      public List<TTableName> getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_getTableNamesByNamespace();
       }
     }
 
-    public static class putMultiple<I extends Iface> extends org.apache.thrift.ProcessFunction<I, putMultiple_args> {
-      public putMultiple() {
-        super("putMultiple");
-      }
+    public void createTable(TTableDescriptor desc, List<ByteBuffer> splitKeys, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      createTable_call method_call = new createTable_call(desc, splitKeys, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public putMultiple_args getEmptyArgsInstance() {
-        return new putMultiple_args();
+    public static class createTable_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private TTableDescriptor desc;
+      private List<ByteBuffer> splitKeys;
+      public createTable_call(TTableDescriptor desc, List<ByteBuffer> splitKeys, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.desc = desc;
+        this.splitKeys = splitKeys;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createTable", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        createTable_args args = new createTable_args();
+        args.setDesc(desc);
+        args.setSplitKeys(splitKeys);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public putMultiple_result getResult(I iface, putMultiple_args args) throws org.apache.thrift.TException {
-        putMultiple_result result = new putMultiple_result();
-        try {
-          iface.putMultiple(args.table, args.tputs);
-        } catch (TIOError io) {
-          result.io = io;
+      public void getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        (new Client(prot)).recv_createTable();
       }
     }
 
-    public static class deleteSingle<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteSingle_args> {
-      public deleteSingle() {
-        super("deleteSingle");
-      }
+    public void deleteTable(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      deleteTable_call method_call = new deleteTable_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public deleteSingle_args getEmptyArgsInstance() {
-        return new deleteSingle_args();
+    public static class deleteTable_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private TTableName tableName;
+      public deleteTable_call(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableName = tableName;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteTable", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        deleteTable_args args = new deleteTable_args();
+        args.setTableName(tableName);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public deleteSingle_result getResult(I iface, deleteSingle_args args) throws org.apache.thrift.TException {
-        deleteSingle_result result = new deleteSingle_result();
-        try {
-          iface.deleteSingle(args.table, args.tdelete);
-        } catch (TIOError io) {
-          result.io = io;
+      public void getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        (new Client(prot)).recv_deleteTable();
       }
     }
 
-    public static class deleteMultiple<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteMultiple_args> {
-      public deleteMultiple() {
-        super("deleteMultiple");
-      }
+    public void truncateTable(TTableName tableName, boolean preserveSplits, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      truncateTable_call method_call = new truncateTable_call(tableName, preserveSplits, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public deleteMultiple_args getEmptyArgsInstance() {
-        return new deleteMultiple_args();
+    public static class truncateTable_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private TTableName tableName;
+      private boolean preserveSplits;
+      public truncateTable_call(TTableName tableName, boolean preserveSplits, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableName = tableName;
+        this.preserveSplits = preserveSplits;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("truncateTable", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        truncateTable_args args = new truncateTable_args();
+        args.setTableName(tableName);
+        args.setPreserveSplits(preserveSplits);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public deleteMultiple_result getResult(I iface, deleteMultiple_args args) throws org.apache.thrift.TException {
-        deleteMultiple_result result = new deleteMultiple_result();
-        try {
-          result.success = iface.deleteMultiple(args.table, args.tdeletes);
-        } catch (TIOError io) {
-          result.io = io;
+      public void getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        (new Client(prot)).recv_truncateTable();
       }
     }
 
-    public static class checkAndDelete<I extends Iface> extends org.apache.thrift.ProcessFunction<I, checkAndDelete_args> {
-      public checkAndDelete() {
-        super("checkAndDelete");
-      }
+    public void enableTable(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      enableTable_call method_call = new enableTable_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public checkAndDelete_args getEmptyArgsInstance() {
-        return new checkAndDelete_args();
+    public static class enableTable_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private TTableName tableName;
+      public enableTable_call(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableName = tableName;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("enableTable", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        enableTable_args args = new enableTable_args();
+        args.setTableName(tableName);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public checkAndDelete_result getResult(I iface, checkAndDelete_args args) throws org.apache.thrift.TException {
-        checkAndDelete_result result = new checkAndDelete_result();
-        try {
-          result.success = iface.checkAndDelete(args.table, args.row, args.family, args.qualifier, args.value, args.tdelete);
-          result.setSuccessIsSet(true);
-        } catch (TIOError io) {
-          result.io = io;
+      public void getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        (new Client(prot)).recv_enableTable();
       }
     }
 
-    public static class increment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, increment_args> {
-      public increment() {
-        super("increment");
-      }
+    public void disableTable(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      disableTable_call method_call = new disableTable_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public increment_args getEmptyArgsInstance() {
-        return new increment_args();
+    public static class disableTable_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private TTableName tableName;
+      public disableTable_call(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableName = tableName;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("disableTable", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        disableTable_args args = new disableTable_args();
+        args.setTableName(tableName);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public increment_result getResult(I iface, increment_args args) throws org.apache.thrift.TException {
-        increment_result result = new increment_result();
-        try {
-          result.success = iface.increment(args.table, args.tincrement);
-        } catch (TIOError io) {
-          result.io = io;
+      public void getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        (new Client(prot)).recv_disableTable();
       }
     }
 
-    public static class append<I extends Iface> extends org.apache.thrift.ProcessFunction<I, append_args> {
-      public append() {
-        super("append");
-      }
+    public void isTableEnabled(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      isTableEnabled_call method_call = new isTableEnabled_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public append_args getEmptyArgsInstance() {
-        return new append_args();
+    public static class isTableEnabled_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private TTableName tableName;
+      public isTableEnabled_call(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableName = tableName;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isTableEnabled", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        isTableEnabled_args args = new isTableEnabled_args();
+        args.setTableName(tableName);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public append_result getResult(I iface, append_args args) throws org.apache.thrift.TException {
-        append_result result = new append_result();
-        try {
-          result.success = iface.append(args.table, args.tappend);
-        } catch (TIOError io) {
-          result.io = io;
+      public boolean getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_isTableEnabled();
       }
     }
 
-    public static class openScanner<I extends Iface> extends org.apache.thrift.ProcessFunction<I, openScanner_args> {
-      public openScanner() {
-        super("openScanner");
-      }
+    public void isTableDisabled(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      isTableDisabled_call method_call = new isTableDisabled_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public openScanner_args getEmptyArgsInstance() {
-        return new openScanner_args();
+    public static class isTableDisabled_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private TTableName tableName;
+      public isTableDisabled_call(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableName = tableName;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isTableDisabled", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        isTableDisabled_args args = new isTableDisabled_args();
+        args.setTableName(tableName);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public openScanner_result getResult(I iface, openScanner_args args) throws org.apache.thrift.TException {
-        openScanner_result result = new openScanner_result();
-        try {
-          result.success = iface.openScanner(args.table, args.tscan);
-          result.setSuccessIsSet(true);
-        } catch (TIOError io) {
-          result.io = io;
+      public boolean getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_isTableDisabled();
       }
     }
 
-    public static class getScannerRows<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getScannerRows_args> {
-      public getScannerRows() {
-        super("getScannerRows");
-      }
+    public void isTableAvailable(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      isTableAvailable_call method_call = new isTableAvailable_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public getScannerRows_args getEmptyArgsInstance() {
-        return new getScannerRows_args();
+    public static class isTableAvailable_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private TTableName tableName;
+      public isTableAvailable_call(TTableName tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableName = tableName;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isTableAvailable", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        isTableAvailable_args args = new isTableAvailable_args();
+        args.setTableName(tableName);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public getScannerRows_result getResult(I iface, getScannerRows_args args) throws org.apache.thrift.TException {
-        getScannerRows_result result = new getScannerRows_result();
-        try {
-          result.success = iface.getScannerRows(args.scannerId, args.numRows);
-        } catch (TIOError io) {
-          result.io = io;
-        } catch (TIllegalArgument ia) {
-          result.ia = ia;
+      public boolean getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_isTableAvailable();
       }
     }
 
-    public static class closeScanner<I extends Iface> extends org.apache.thrift.ProcessFunction<I, closeScanner_args> {
-      public closeScanner() {
-        super("closeScanner");
-      }
+    public void isTableAvailableWithSplit(TTableName tableName, List<ByteBuffer> splitKeys, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      isTableAvailableWithSplit_call method_call = new isTableAvailableWithSplit_call(tableName, splitKeys, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public closeScanner_args getEmptyArgsInstance() {
-        return new closeScanner_args();
+    public static class isTableAvailableWithSplit_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private TTableName tableName;
+      private List<ByteBuffer> splitKeys;
+      public isTableAvailableWithSplit_call(TTableName tableName, List<ByteBuffer> splitKeys, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableName = tableName;
+        this.splitKeys = splitKeys;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isTableAvailableWithSplit", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        isTableAvailableWithSplit_args args = new isTableAvailableWithSplit_args();
+        args.setTableName(tableName);
+        args.setSplitKeys(splitKeys);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public closeScanner_result getResult(I iface, closeScanner_args args) throws org.apache.thrift.TException {
-        closeScanner_result result = new closeScanner_result();
-        try {
-          iface.closeScanner(args.scannerId);
-        } catch (TIOError io) {
-          result.io = io;
-        } catch (TIllegalArgument ia) {
-          result.ia = ia;
+      public boolean getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_isTableAvailableWithSplit();
       }
     }
 
-    public static class mutateRow<I extends Iface> extends org.apache.thrift.ProcessFunction<I, mutateRow_args> {
-      public mutateRow() {
-        super("mutateRow");
-      }
+    public void addColumnFamily(TTableName tableName, TColumnFamilyDescriptor column, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      addColumnFamily_call method_call = new addColumnFamily_call(tableName, column, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public mutateRow_args getEmptyArgsInstance() {
-        return new mutateRow_args();
+    public static class addColumnFamily_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private TTableName tableName;
+      private TColumnFamilyDescriptor column;
+      public addColumnFamily_call(TTableName tableName, TColumnFamilyDescriptor column, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableName = tableName;
+        this.column = column;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addColumnFamily", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        addColumnFamily_args args = new addColumnFamily_args();
+        args.setTableName(tableName);
+        args.setColumn(column);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public mutateRow_result getResult(I iface, mutateRow_args args) throws org.apache.thrift.TException {
-        mutateRow_result result = new mutateRow_result();
-        try {
-          iface.mutateRow(args.table, args.trowMutations);
-        } catch (TIOError io) {
-          result.io = io;
+      public void getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        (new Client(prot)).recv_addColumnFamily();
       }
     }
 
-    public static class getScannerResults<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getScannerResults_args> {
-      public getScannerResults() {
-        super("getScannerResults");
-      }
+    public void deleteColumnFamily(TTableName tableName, ByteBuffer column, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      deleteColumnFamily_call method_call = new deleteColumnFamily_call(tableName, column, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
 
-      public getScannerResults_args getEmptyArgsInstance() {
-        return new getScannerResults_args();
+    public static class deleteColumnFamily_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private TTableName tableName;
+      private ByteBuffer column;
+      public deleteColumnFamily_call(TTableName tableName, ByteBuffer column, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableName = tableName;
+        this.column = column;
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteColumnFamily", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        deleteColumnFamily_args args = new deleteColumnFamily_args();
+        args.setTableName(tableName);
+        args.setColumn(column);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      public getScannerResults_result getResult(I iface, getScannerResults_args args) throws org.apache.thrift.TException {
-        getScannerResults_result result = new getScannerResults_result();
-        try {
-          result.success = iface.getScannerResults(args.table, args.tscan, args.numRows);
-        } catch (TIOError io) {
-          result.io = io;
+      public void getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        (new Client(prot)).recv_deleteColumnFamily();
       }
     }
 
-    public static class getRegionLocation<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getRegionLocation_args> {
-      public getRegionLocation() {
-        super("getRegionLocation");
+    public void modifyColumnFamily(TTableName tableName, TColumnFamilyDescriptor column, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      modifyColumnFamily_call method_call = new modifyColumnFamily_call(tableName, column, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class modifyColumnFamily_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private TTableName tableName;
+      private TColumnFamilyDescriptor column;
+      public modifyColumnFamily_call(TTableName tableName, TColumnFamilyDescriptor column, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableName = tableName;
+        this.column = column;
       }
 
-      public getRegionLocation_args getEmptyArgsInstance() {
-        return new getRegionLocation_args();
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("modifyColumnFamily", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        modifyColumnFamily_args args = new modifyColumnFamily_args();
+        args.setTableName(tableName);
+        args.setColumn(column);
+        args.write(prot);
+        prot.writeMessageEnd();
       }
 
-      protected boolean isOneway() {
-        return false;
+      public void getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
+        }
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        (new Client(prot)).recv_modifyColumnFamily();
       }
+    }
 
-      public getRegionLocation_result getResult(I iface, getRegionLocation_args args) throws org.apache.thrift.TException {
-        getRegionLocation_result result = new getRegionLocation_result();
-        try {
-          result.success = iface.getRegionLocation(args.table, args.row, args.reload);
-        } catch (TIOError io) {
-          result.io = io;
+    public void modifyTable(TTableDescriptor desc, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      modifyTable_call method_call = new modifyTable_call(desc, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class modifyTable_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private TTableDescriptor desc;
+      public modifyTable_call(TTableDescriptor desc, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.desc = desc;
+      }
+
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("modifyTable", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        modifyTable_args args = new modifyTable_args();
+        args.setDesc(desc);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws TIOError, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        return result;
+        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
+        org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        (new Client(prot)).recv_modifyTable();
       }
     }
 
-    public static class getAllRegionLocations<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAllRegionLocations_args> {
-      public getAllRegionLocations() {
-        super("getAllRegionLocations");
+    public void createNamespace(TNamespaceDescriptor namespaceDesc, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      createNamespace_call method_call = new createNamespace_call(namespaceDesc, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class createNamespace_call extends org.apache.thrift.async.TAsyncMethodCall {
+  

<TRUNCATED>

[9/9] hbase git commit: HBASE-21650 Add DDL operation and some other miscellaneous to thrift2 (ADDENDUM add some comments)

Posted by al...@apache.org.
HBASE-21650 Add DDL operation and some other miscellaneous to thrift2 (ADDENDUM add some comments)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/26700fb2
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/26700fb2
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/26700fb2

Branch: refs/heads/branch-2
Commit: 26700fb2cd0f1afecb62fcdbdd613cac73c87bb1
Parents: 4e8a846
Author: Allan Yang <al...@apache.org>
Authored: Sat Dec 29 18:06:23 2018 +0800
Committer: Allan Yang <al...@apache.org>
Committed: Sat Dec 29 18:06:23 2018 +0800

----------------------------------------------------------------------
 .../hbase/thrift/generated/AlreadyExists.java   |   2 +-
 .../hbase/thrift/generated/BatchMutation.java   |   2 +-
 .../thrift/generated/ColumnDescriptor.java      |   2 +-
 .../hadoop/hbase/thrift/generated/Hbase.java    |   2 +-
 .../hadoop/hbase/thrift/generated/IOError.java  |   2 +-
 .../hbase/thrift/generated/IllegalArgument.java |   2 +-
 .../hadoop/hbase/thrift/generated/Mutation.java |   2 +-
 .../hadoop/hbase/thrift/generated/TAppend.java  |   2 +-
 .../hadoop/hbase/thrift/generated/TCell.java    |   2 +-
 .../hadoop/hbase/thrift/generated/TColumn.java  |   2 +-
 .../hbase/thrift/generated/TIncrement.java      |   2 +-
 .../hbase/thrift/generated/TRegionInfo.java     |   2 +-
 .../hbase/thrift/generated/TRowResult.java      |   2 +-
 .../hadoop/hbase/thrift/generated/TScan.java    |   2 +-
 .../hadoop/hbase/thrift2/generated/TAppend.java |   2 +-
 .../hbase/thrift2/generated/TAuthorization.java |   2 +-
 .../thrift2/generated/TBloomFilterType.java     |   4 +
 .../thrift2/generated/TCellVisibility.java      |   2 +-
 .../hadoop/hbase/thrift2/generated/TColumn.java |   2 +-
 .../generated/TColumnFamilyDescriptor.java      |   6 +-
 .../thrift2/generated/TColumnIncrement.java     |   2 +-
 .../hbase/thrift2/generated/TColumnValue.java   |   2 +-
 .../generated/TCompressionAlgorithm.java        |   4 +
 .../thrift2/generated/TDataBlockEncoding.java   |   4 +
 .../hadoop/hbase/thrift2/generated/TDelete.java |   2 +-
 .../hadoop/hbase/thrift2/generated/TGet.java    |   2 +-
 .../hbase/thrift2/generated/THBaseService.java  | 571 ++++++++++++++++++-
 .../hbase/thrift2/generated/THRegionInfo.java   |   2 +-
 .../thrift2/generated/THRegionLocation.java     |   2 +-
 .../hbase/thrift2/generated/TIOError.java       |   2 +-
 .../thrift2/generated/TIllegalArgument.java     |   2 +-
 .../hbase/thrift2/generated/TIncrement.java     |   2 +-
 .../thrift2/generated/TKeepDeletedCells.java    |   4 +
 .../thrift2/generated/TNamespaceDescriptor.java |   6 +-
 .../hadoop/hbase/thrift2/generated/TPut.java    |   2 +-
 .../hadoop/hbase/thrift2/generated/TResult.java |   2 +-
 .../hbase/thrift2/generated/TRowMutations.java  |   2 +-
 .../hadoop/hbase/thrift2/generated/TScan.java   |   2 +-
 .../hbase/thrift2/generated/TServerName.java    |   2 +-
 .../thrift2/generated/TTableDescriptor.java     |   6 +-
 .../hbase/thrift2/generated/TTableName.java     |  30 +-
 .../hbase/thrift2/generated/TTimeRange.java     |   2 +-
 .../apache/hadoop/hbase/thrift2/hbase.thrift    | 168 +++++-
 43 files changed, 828 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java
index 8ec3e32..4457b9f 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * An AlreadyExists exceptions signals that a table with the specified
  * name already exists
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class AlreadyExists extends TException implements org.apache.thrift.TBase<AlreadyExists, AlreadyExists._Fields>, java.io.Serializable, Cloneable, Comparable<AlreadyExists> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AlreadyExists");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java
index 0872223..f605286 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * A BatchMutation object is used to apply a number of Mutations to a single row.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, BatchMutation._Fields>, java.io.Serializable, Cloneable, Comparable<BatchMutation> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BatchMutation");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java
index bccd48b..c0e885d 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
  * such as the number of versions, compression settings, etc. It is
  * used as input when creating a table or adding a column.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescriptor, ColumnDescriptor._Fields>, java.io.Serializable, Cloneable, Comparable<ColumnDescriptor> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ColumnDescriptor");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
index dc4d8bc..54bb4ce 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class Hbase {
 
   public interface Iface {

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java
index a32b008..09d076c 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
  * to the Hbase master or an Hbase region server.  Also used to return
  * more general Hbase error conditions.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class IOError extends TException implements org.apache.thrift.TBase<IOError, IOError._Fields>, java.io.Serializable, Cloneable, Comparable<IOError> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("IOError");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java
index 573c496..bfe4380 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * An IllegalArgument exception indicates an illegal or invalid
  * argument was passed into a procedure.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class IllegalArgument extends TException implements org.apache.thrift.TBase<IllegalArgument, IllegalArgument._Fields>, java.io.Serializable, Cloneable, Comparable<IllegalArgument> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("IllegalArgument");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java
index 72925b7..967e3d1 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * A Mutation object is used to either update or delete a column-value.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class Mutation implements org.apache.thrift.TBase<Mutation, Mutation._Fields>, java.io.Serializable, Cloneable, Comparable<Mutation> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Mutation");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TAppend.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TAppend.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TAppend.java
index a21b5f7..599f645 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TAppend.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TAppend.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * An Append object is used to specify the parameters for performing the append operation.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields>, java.io.Serializable, Cloneable, Comparable<TAppend> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TAppend");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java
index afe0af1..c8f3576 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java
@@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory;
  * the timestamp of a cell to a first-class value, making it easy to take
  * note of temporal data. Cell is used all the way from HStore up to HTable.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TCell implements org.apache.thrift.TBase<TCell, TCell._Fields>, java.io.Serializable, Cloneable, Comparable<TCell> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TCell");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TColumn.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TColumn.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TColumn.java
index 0115bbd..0ce1d75 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TColumn.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TColumn.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Holds column name and the cell.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TColumn implements org.apache.thrift.TBase<TColumn, TColumn._Fields>, java.io.Serializable, Cloneable, Comparable<TColumn> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TColumn");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TIncrement.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TIncrement.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TIncrement.java
index 7c018f1..6c0827b 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TIncrement.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TIncrement.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * For increments that are not incrementColumnValue
  * equivalents.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncrement._Fields>, java.io.Serializable, Cloneable, Comparable<TIncrement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TIncrement");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java
index ec75247..d2d3e0e 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * A TRegionInfo contains information about an HTable region.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TRegionInfo implements org.apache.thrift.TBase<TRegionInfo, TRegionInfo._Fields>, java.io.Serializable, Cloneable, Comparable<TRegionInfo> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TRegionInfo");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java
index b09a368..6520007 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Holds row name and then a map of columns to cells.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TRowResult implements org.apache.thrift.TBase<TRowResult, TRowResult._Fields>, java.io.Serializable, Cloneable, Comparable<TRowResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TRowResult");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
index 97d59c7..fcc237d 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * A Scan object is used to specify scanner parameters when opening a scanner.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, java.io.Serializable, Cloneable, Comparable<TScan> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TScan");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java
index c89f67b..1b9d6fc 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields>, java.io.Serializable, Cloneable, Comparable<TAppend> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TAppend");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAuthorization.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAuthorization.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAuthorization.java
index 1b168d8..916dc0c 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAuthorization.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAuthorization.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TAuthorization implements org.apache.thrift.TBase<TAuthorization, TAuthorization._Fields>, java.io.Serializable, Cloneable, Comparable<TAuthorization> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TAuthorization");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TBloomFilterType.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TBloomFilterType.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TBloomFilterType.java
index 601d6b4..c4022a0 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TBloomFilterType.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TBloomFilterType.java
@@ -11,6 +11,10 @@ import java.util.Map;
 import java.util.HashMap;
 import org.apache.thrift.TEnum;
 
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.regionserver.BloomType
+ */
 public enum TBloomFilterType implements org.apache.thrift.TEnum {
   /**
    * Bloomfilters disabled

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCellVisibility.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCellVisibility.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCellVisibility.java
index 464ac12..e9af9fe 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCellVisibility.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCellVisibility.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TCellVisibility implements org.apache.thrift.TBase<TCellVisibility, TCellVisibility._Fields>, java.io.Serializable, Cloneable, Comparable<TCellVisibility> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TCellVisibility");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumn.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumn.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumn.java
index 24a7846..11e3ace 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumn.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumn.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
  * in a HBase table by column family and optionally
  * a column qualifier and timestamp
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TColumn implements org.apache.thrift.TBase<TColumn, TColumn._Fields>, java.io.Serializable, Cloneable, Comparable<TColumn> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TColumn");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnFamilyDescriptor.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnFamilyDescriptor.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnFamilyDescriptor.java
index 03cb2f6..df4656f 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnFamilyDescriptor.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnFamilyDescriptor.java
@@ -34,7 +34,11 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.client.ColumnFamilyDescriptor
+ */
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TColumnFamilyDescriptor implements org.apache.thrift.TBase<TColumnFamilyDescriptor, TColumnFamilyDescriptor._Fields>, java.io.Serializable, Cloneable, Comparable<TColumnFamilyDescriptor> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TColumnFamilyDescriptor");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement.java
index 0f27519..18c5ff2 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnIncrement.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Represents a single cell and the amount to increment it by
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TColumnIncrement implements org.apache.thrift.TBase<TColumnIncrement, TColumnIncrement._Fields>, java.io.Serializable, Cloneable, Comparable<TColumnIncrement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TColumnIncrement");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnValue.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnValue.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnValue.java
index 6cded1b..1355141 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnValue.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TColumnValue.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Represents a single cell and its value.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TColumnValue implements org.apache.thrift.TBase<TColumnValue, TColumnValue._Fields>, java.io.Serializable, Cloneable, Comparable<TColumnValue> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TColumnValue");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCompressionAlgorithm.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCompressionAlgorithm.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCompressionAlgorithm.java
index 46799be..59f7448 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCompressionAlgorithm.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TCompressionAlgorithm.java
@@ -11,6 +11,10 @@ import java.util.Map;
 import java.util.HashMap;
 import org.apache.thrift.TEnum;
 
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.io.compress.Algorithm
+ */
 public enum TCompressionAlgorithm implements org.apache.thrift.TEnum {
   LZO(0),
   GZ(1),

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDataBlockEncoding.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDataBlockEncoding.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDataBlockEncoding.java
index 1594aac3..bd513e9 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDataBlockEncoding.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDataBlockEncoding.java
@@ -11,6 +11,10 @@ import java.util.Map;
 import java.util.HashMap;
 import org.apache.thrift.TEnum;
 
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.io.encoding.DataBlockEncoding
+ */
 public enum TDataBlockEncoding implements org.apache.thrift.TEnum {
   /**
    * Disable data block encoding.

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDelete.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDelete.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDelete.java
index fb4ffe6..cdce4fb 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDelete.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDelete.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * by changing the durability. If you don't provide durability, it defaults to
  * column family's default setting for durability.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TDelete implements org.apache.thrift.TBase<TDelete, TDelete._Fields>, java.io.Serializable, Cloneable, Comparable<TDelete> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TDelete");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java
index 1b01ef5..b38d936 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
  * If you specify a time range and a timestamp the range is ignored.
  * Timestamps on TColumns are ignored.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.io.Serializable, Cloneable, Comparable<TGet> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TGet");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THBaseService.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THBaseService.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THBaseService.java
index 7388443..bb5db4d 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THBaseService.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THBaseService.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class THBaseService {
 
   public interface Iface {
@@ -282,54 +282,239 @@ public class THBaseService {
      */
     public boolean checkAndMutate(ByteBuffer table, ByteBuffer row, ByteBuffer family, ByteBuffer qualifier, TCompareOp compareOp, ByteBuffer value, TRowMutations rowMutations) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Get a table descriptor.
+     * @return the TableDescriptor of the giving tablename
+     * 
+     * 
+     * @param table the tablename of the table to get tableDescriptor
+     */
     public TTableDescriptor getTableDescriptor(TTableName table) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Get table descriptors of tables.
+     * @return the TableDescriptor of the giving tablename
+     * 
+     * 
+     * @param tables the tablename list of the tables to get tableDescriptor
+     */
     public List<TTableDescriptor> getTableDescriptors(List<TTableName> tables) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * 
+     * @return true if table exists already, false if not
+     * 
+     * 
+     * @param tableName the tablename of the tables to check
+     */
     public boolean tableExists(TTableName tableName) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Get table descriptors of tables that match the given pattern
+     * @return the tableDescriptors of the matching table
+     * 
+     * 
+     * @param regex The regular expression to match against
+     * 
+     * @param includeSysTables set to false if match only against userspace tables
+     */
     public List<TTableDescriptor> getTableDescriptorsByPattern(String regex, boolean includeSysTables) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Get table descriptors of tables in the given namespace
+     * @return the tableDescriptors in the namespce
+     * 
+     * 
+     * @param name The namesapce's name
+     */
     public List<TTableDescriptor> getTableDescriptorsByNamespace(String name) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Get table names of tables that match the given pattern
+     * @return the table names of the matching table
+     * 
+     * 
+     * @param regex The regular expression to match against
+     * 
+     * @param includeSysTables set to false if match only against userspace tables
+     */
     public List<TTableName> getTableNamesByPattern(String regex, boolean includeSysTables) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Get table names of tables in the given namespace
+     * @return the table names of the matching table
+     * 
+     * 
+     * @param name The namesapce's name
+     */
     public List<TTableName> getTableNamesByNamespace(String name) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Creates a new table with an initial set of empty regions defined by the specified split keys.
+     * The total number of regions created will be the number of split keys plus one. Synchronous
+     * operation.
+     * 
+     * 
+     * @param desc table descriptor for table
+     * 
+     * @param splitKeys rray of split keys for the initial regions of the table
+     */
     public void createTable(TTableDescriptor desc, List<ByteBuffer> splitKeys) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Deletes a table. Synchronous operation.
+     * 
+     * 
+     * @param tableName the tablename to delete
+     */
     public void deleteTable(TTableName tableName) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Truncate a table. Synchronous operation.
+     * 
+     * 
+     * @param tableName the tablename to truncate
+     * 
+     * @param preserveSplits whether to  preserve previous splits
+     */
     public void truncateTable(TTableName tableName, boolean preserveSplits) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Enalbe a table
+     * 
+     * 
+     * @param tableName the tablename to enable
+     */
     public void enableTable(TTableName tableName) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Disable a table
+     * 
+     * 
+     * @param tableName the tablename to disable
+     */
     public void disableTable(TTableName tableName) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * 
+     * @return true if table is enabled, false if not
+     * 
+     * 
+     * @param tableName the tablename to check
+     */
     public boolean isTableEnabled(TTableName tableName) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * 
+     * @return true if table is disabled, false if not
+     * 
+     * 
+     * @param tableName the tablename to check
+     */
     public boolean isTableDisabled(TTableName tableName) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * 
+     * @return true if table is available, false if not
+     * 
+     * 
+     * @param tableName the tablename to check
+     */
     public boolean isTableAvailable(TTableName tableName) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     *  * Use this api to check if the table has been created with the specified number of splitkeys
+     *  * which was used while creating the given table. Note : If this api is used after a table's
+     *  * region gets splitted, the api may return false.
+     *  *
+     *  * @return true if table is available, false if not
+     * *
+     * 
+     * @param tableName the tablename to check
+     * 
+     * @param splitKeys keys to check if the table has been created with all split keys
+     */
     public boolean isTableAvailableWithSplit(TTableName tableName, List<ByteBuffer> splitKeys) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Add a column family to an existing table. Synchronous operation.
+     * 
+     * 
+     * @param tableName the tablename to add column family to
+     * 
+     * @param column column family descriptor of column family to be added
+     */
     public void addColumnFamily(TTableName tableName, TColumnFamilyDescriptor column) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Delete a column family from a table. Synchronous operation.
+     * 
+     * 
+     * @param tableName the tablename to delete column family from
+     * 
+     * @param column name of column family to be deleted
+     */
     public void deleteColumnFamily(TTableName tableName, ByteBuffer column) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Modify an existing column family on a table. Synchronous operation.
+     * 
+     * 
+     * @param tableName the tablename to modify column family
+     * 
+     * @param column column family descriptor of column family to be modified
+     */
     public void modifyColumnFamily(TTableName tableName, TColumnFamilyDescriptor column) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Modify an existing table
+     * 
+     * 
+     * @param desc the descriptor of the table to modify
+     */
     public void modifyTable(TTableDescriptor desc) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Create a new namespace. Blocks until namespace has been successfully created or an exception is
+     * thrown
+     * 
+     * 
+     * @param namespaceDesc descriptor which describes the new namespace
+     */
     public void createNamespace(TNamespaceDescriptor namespaceDesc) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Modify an existing namespace.  Blocks until namespace has been successfully modified or an
+     * exception is thrown
+     * 
+     * 
+     * @param namespaceDesc descriptor which describes the new namespace
+     */
     public void modifyNamespace(TNamespaceDescriptor namespaceDesc) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Delete an existing namespace. Only empty namespaces (no tables) can be removed.
+     * Blocks until namespace has been successfully deleted or an
+     * exception is thrown.
+     * 
+     * 
+     * @param name namespace name
+     */
     public void deleteNamespace(String name) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * Get a namespace descriptor by name.
+     * @retrun the descriptor
+     * 
+     * 
+     * @param name name of namespace descriptor
+     */
     public TNamespaceDescriptor getNamespaceDescriptor(String name) throws TIOError, org.apache.thrift.TException;
 
+    /**
+     * @return all namespaces
+     * 
+     */
     public List<TNamespaceDescriptor> listNamespaceDescriptors() throws TIOError, org.apache.thrift.TException;
 
   }
@@ -28057,10 +28242,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new getTableDescriptor_argsTupleSchemeFactory());
     }
 
+    /**
+     * the tablename of the table to get tableDescriptor
+     */
     public TTableName table; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * the tablename of the table to get tableDescriptor
+       */
       TABLE((short)1, "table");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -28155,10 +28346,16 @@ public class THBaseService {
       this.table = null;
     }
 
+    /**
+     * the tablename of the table to get tableDescriptor
+     */
     public TTableName getTable() {
       return this.table;
     }
 
+    /**
+     * the tablename of the table to get tableDescriptor
+     */
     public getTableDescriptor_args setTable(TTableName table) {
       this.table = table;
       return this;
@@ -28889,10 +29086,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new getTableDescriptors_argsTupleSchemeFactory());
     }
 
+    /**
+     * the tablename list of the tables to get tableDescriptor
+     */
     public List<TTableName> tables; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * the tablename list of the tables to get tableDescriptor
+       */
       TABLES((short)1, "tables");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -29007,10 +29210,16 @@ public class THBaseService {
       this.tables.add(elem);
     }
 
+    /**
+     * the tablename list of the tables to get tableDescriptor
+     */
     public List<TTableName> getTables() {
       return this.tables;
     }
 
+    /**
+     * the tablename list of the tables to get tableDescriptor
+     */
     public getTableDescriptors_args setTables(List<TTableName> tables) {
       this.tables = tables;
       return this;
@@ -29819,10 +30028,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new tableExists_argsTupleSchemeFactory());
     }
 
+    /**
+     * the tablename of the tables to check
+     */
     public TTableName tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * the tablename of the tables to check
+       */
       TABLE_NAME((short)1, "tableName");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -29917,10 +30132,16 @@ public class THBaseService {
       this.tableName = null;
     }
 
+    /**
+     * the tablename of the tables to check
+     */
     public TTableName getTableName() {
       return this.tableName;
     }
 
+    /**
+     * the tablename of the tables to check
+     */
     public tableExists_args setTableName(TTableName tableName) {
       this.tableName = tableName;
       return this;
@@ -30654,12 +30875,24 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new getTableDescriptorsByPattern_argsTupleSchemeFactory());
     }
 
+    /**
+     * The regular expression to match against
+     */
     public String regex; // required
+    /**
+     * set to false if match only against userspace tables
+     */
     public boolean includeSysTables; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * The regular expression to match against
+       */
       REGEX((short)1, "regex"),
+      /**
+       * set to false if match only against userspace tables
+       */
       INCLUDE_SYS_TABLES((short)2, "includeSysTables");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -30767,10 +31000,16 @@ public class THBaseService {
       this.includeSysTables = false;
     }
 
+    /**
+     * The regular expression to match against
+     */
     public String getRegex() {
       return this.regex;
     }
 
+    /**
+     * The regular expression to match against
+     */
     public getTableDescriptorsByPattern_args setRegex(String regex) {
       this.regex = regex;
       return this;
@@ -30791,10 +31030,16 @@ public class THBaseService {
       }
     }
 
+    /**
+     * set to false if match only against userspace tables
+     */
     public boolean isIncludeSysTables() {
       return this.includeSysTables;
     }
 
+    /**
+     * set to false if match only against userspace tables
+     */
     public getTableDescriptorsByPattern_args setIncludeSysTables(boolean includeSysTables) {
       this.includeSysTables = includeSysTables;
       setIncludeSysTablesIsSet(true);
@@ -31629,10 +31874,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new getTableDescriptorsByNamespace_argsTupleSchemeFactory());
     }
 
+    /**
+     * The namesapce's name
+     */
     public String name; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * The namesapce's name
+       */
       NAME((short)1, "name");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -31727,10 +31978,16 @@ public class THBaseService {
       this.name = null;
     }
 
+    /**
+     * The namesapce's name
+     */
     public String getName() {
       return this.name;
     }
 
+    /**
+     * The namesapce's name
+     */
     public getTableDescriptorsByNamespace_args setName(String name) {
       this.name = name;
       return this;
@@ -32506,12 +32763,24 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new getTableNamesByPattern_argsTupleSchemeFactory());
     }
 
+    /**
+     * The regular expression to match against
+     */
     public String regex; // required
+    /**
+     * set to false if match only against userspace tables
+     */
     public boolean includeSysTables; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * The regular expression to match against
+       */
       REGEX((short)1, "regex"),
+      /**
+       * set to false if match only against userspace tables
+       */
       INCLUDE_SYS_TABLES((short)2, "includeSysTables");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -32619,10 +32888,16 @@ public class THBaseService {
       this.includeSysTables = false;
     }
 
+    /**
+     * The regular expression to match against
+     */
     public String getRegex() {
       return this.regex;
     }
 
+    /**
+     * The regular expression to match against
+     */
     public getTableNamesByPattern_args setRegex(String regex) {
       this.regex = regex;
       return this;
@@ -32643,10 +32918,16 @@ public class THBaseService {
       }
     }
 
+    /**
+     * set to false if match only against userspace tables
+     */
     public boolean isIncludeSysTables() {
       return this.includeSysTables;
     }
 
+    /**
+     * set to false if match only against userspace tables
+     */
     public getTableNamesByPattern_args setIncludeSysTables(boolean includeSysTables) {
       this.includeSysTables = includeSysTables;
       setIncludeSysTablesIsSet(true);
@@ -33481,10 +33762,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new getTableNamesByNamespace_argsTupleSchemeFactory());
     }
 
+    /**
+     * The namesapce's name
+     */
     public String name; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * The namesapce's name
+       */
       NAME((short)1, "name");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -33579,10 +33866,16 @@ public class THBaseService {
       this.name = null;
     }
 
+    /**
+     * The namesapce's name
+     */
     public String getName() {
       return this.name;
     }
 
+    /**
+     * The namesapce's name
+     */
     public getTableNamesByNamespace_args setName(String name) {
       this.name = name;
       return this;
@@ -34358,12 +34651,24 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new createTable_argsTupleSchemeFactory());
     }
 
+    /**
+     * table descriptor for table
+     */
     public TTableDescriptor desc; // required
+    /**
+     * rray of split keys for the initial regions of the table
+     */
     public List<ByteBuffer> splitKeys; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * table descriptor for table
+       */
       DESC((short)1, "desc"),
+      /**
+       * rray of split keys for the initial regions of the table
+       */
       SPLIT_KEYS((short)2, "splitKeys");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -34470,10 +34775,16 @@ public class THBaseService {
       this.splitKeys = null;
     }
 
+    /**
+     * table descriptor for table
+     */
     public TTableDescriptor getDesc() {
       return this.desc;
     }
 
+    /**
+     * table descriptor for table
+     */
     public createTable_args setDesc(TTableDescriptor desc) {
       this.desc = desc;
       return this;
@@ -34509,10 +34820,16 @@ public class THBaseService {
       this.splitKeys.add(elem);
     }
 
+    /**
+     * rray of split keys for the initial regions of the table
+     */
     public List<ByteBuffer> getSplitKeys() {
       return this.splitKeys;
     }
 
+    /**
+     * rray of split keys for the initial regions of the table
+     */
     public createTable_args setSplitKeys(List<ByteBuffer> splitKeys) {
       this.splitKeys = splitKeys;
       return this;
@@ -35229,10 +35546,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new deleteTable_argsTupleSchemeFactory());
     }
 
+    /**
+     * the tablename to delete
+     */
     public TTableName tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * the tablename to delete
+       */
       TABLE_NAME((short)1, "tableName");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -35327,10 +35650,16 @@ public class THBaseService {
       this.tableName = null;
     }
 
+    /**
+     * the tablename to delete
+     */
     public TTableName getTableName() {
       return this.tableName;
     }
 
+    /**
+     * the tablename to delete
+     */
     public deleteTable_args setTableName(TTableName tableName) {
       this.tableName = tableName;
       return this;
@@ -35952,12 +36281,24 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new truncateTable_argsTupleSchemeFactory());
     }
 
+    /**
+     * the tablename to truncate
+     */
     public TTableName tableName; // required
+    /**
+     * whether to  preserve previous splits
+     */
     public boolean preserveSplits; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * the tablename to truncate
+       */
       TABLE_NAME((short)1, "tableName"),
+      /**
+       * whether to  preserve previous splits
+       */
       PRESERVE_SPLITS((short)2, "preserveSplits");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -36065,10 +36406,16 @@ public class THBaseService {
       this.preserveSplits = false;
     }
 
+    /**
+     * the tablename to truncate
+     */
     public TTableName getTableName() {
       return this.tableName;
     }
 
+    /**
+     * the tablename to truncate
+     */
     public truncateTable_args setTableName(TTableName tableName) {
       this.tableName = tableName;
       return this;
@@ -36089,10 +36436,16 @@ public class THBaseService {
       }
     }
 
+    /**
+     * whether to  preserve previous splits
+     */
     public boolean isPreserveSplits() {
       return this.preserveSplits;
     }
 
+    /**
+     * whether to  preserve previous splits
+     */
     public truncateTable_args setPreserveSplits(boolean preserveSplits) {
       this.preserveSplits = preserveSplits;
       setPreserveSplitsIsSet(true);
@@ -36773,10 +37126,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new enableTable_argsTupleSchemeFactory());
     }
 
+    /**
+     * the tablename to enable
+     */
     public TTableName tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * the tablename to enable
+       */
       TABLE_NAME((short)1, "tableName");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -36871,10 +37230,16 @@ public class THBaseService {
       this.tableName = null;
     }
 
+    /**
+     * the tablename to enable
+     */
     public TTableName getTableName() {
       return this.tableName;
     }
 
+    /**
+     * the tablename to enable
+     */
     public enableTable_args setTableName(TTableName tableName) {
       this.tableName = tableName;
       return this;
@@ -37495,10 +37860,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new disableTable_argsTupleSchemeFactory());
     }
 
+    /**
+     * the tablename to disable
+     */
     public TTableName tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * the tablename to disable
+       */
       TABLE_NAME((short)1, "tableName");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -37593,10 +37964,16 @@ public class THBaseService {
       this.tableName = null;
     }
 
+    /**
+     * the tablename to disable
+     */
     public TTableName getTableName() {
       return this.tableName;
     }
 
+    /**
+     * the tablename to disable
+     */
     public disableTable_args setTableName(TTableName tableName) {
       this.tableName = tableName;
       return this;
@@ -38217,10 +38594,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new isTableEnabled_argsTupleSchemeFactory());
     }
 
+    /**
+     * the tablename to check
+     */
     public TTableName tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * the tablename to check
+       */
       TABLE_NAME((short)1, "tableName");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -38315,10 +38698,16 @@ public class THBaseService {
       this.tableName = null;
     }
 
+    /**
+     * the tablename to check
+     */
     public TTableName getTableName() {
       return this.tableName;
     }
 
+    /**
+     * the tablename to check
+     */
     public isTableEnabled_args setTableName(TTableName tableName) {
       this.tableName = tableName;
       return this;
@@ -39044,10 +39433,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new isTableDisabled_argsTupleSchemeFactory());
     }
 
+    /**
+     * the tablename to check
+     */
     public TTableName tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * the tablename to check
+       */
       TABLE_NAME((short)1, "tableName");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -39142,10 +39537,16 @@ public class THBaseService {
       this.tableName = null;
     }
 
+    /**
+     * the tablename to check
+     */
     public TTableName getTableName() {
       return this.tableName;
     }
 
+    /**
+     * the tablename to check
+     */
     public isTableDisabled_args setTableName(TTableName tableName) {
       this.tableName = tableName;
       return this;
@@ -39871,10 +40272,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new isTableAvailable_argsTupleSchemeFactory());
     }
 
+    /**
+     * the tablename to check
+     */
     public TTableName tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * the tablename to check
+       */
       TABLE_NAME((short)1, "tableName");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -39969,10 +40376,16 @@ public class THBaseService {
       this.tableName = null;
     }
 
+    /**
+     * the tablename to check
+     */
     public TTableName getTableName() {
       return this.tableName;
     }
 
+    /**
+     * the tablename to check
+     */
     public isTableAvailable_args setTableName(TTableName tableName) {
       this.tableName = tableName;
       return this;
@@ -40699,12 +41112,24 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new isTableAvailableWithSplit_argsTupleSchemeFactory());
     }
 
+    /**
+     * the tablename to check
+     */
     public TTableName tableName; // required
+    /**
+     * keys to check if the table has been created with all split keys
+     */
     public List<ByteBuffer> splitKeys; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * the tablename to check
+       */
       TABLE_NAME((short)1, "tableName"),
+      /**
+       * keys to check if the table has been created with all split keys
+       */
       SPLIT_KEYS((short)2, "splitKeys");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -40811,10 +41236,16 @@ public class THBaseService {
       this.splitKeys = null;
     }
 
+    /**
+     * the tablename to check
+     */
     public TTableName getTableName() {
       return this.tableName;
     }
 
+    /**
+     * the tablename to check
+     */
     public isTableAvailableWithSplit_args setTableName(TTableName tableName) {
       this.tableName = tableName;
       return this;
@@ -40850,10 +41281,16 @@ public class THBaseService {
       this.splitKeys.add(elem);
     }
 
+    /**
+     * keys to check if the table has been created with all split keys
+     */
     public List<ByteBuffer> getSplitKeys() {
       return this.splitKeys;
     }
 
+    /**
+     * keys to check if the table has been created with all split keys
+     */
     public isTableAvailableWithSplit_args setSplitKeys(List<ByteBuffer> splitKeys) {
       this.splitKeys = splitKeys;
       return this;
@@ -41676,12 +42113,24 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new addColumnFamily_argsTupleSchemeFactory());
     }
 
+    /**
+     * the tablename to add column family to
+     */
     public TTableName tableName; // required
+    /**
+     * column family descriptor of column family to be added
+     */
     public TColumnFamilyDescriptor column; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * the tablename to add column family to
+       */
       TABLE_NAME((short)1, "tableName"),
+      /**
+       * column family descriptor of column family to be added
+       */
       COLUMN((short)2, "column");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -41786,10 +42235,16 @@ public class THBaseService {
       this.column = null;
     }
 
+    /**
+     * the tablename to add column family to
+     */
     public TTableName getTableName() {
       return this.tableName;
     }
 
+    /**
+     * the tablename to add column family to
+     */
     public addColumnFamily_args setTableName(TTableName tableName) {
       this.tableName = tableName;
       return this;
@@ -41810,10 +42265,16 @@ public class THBaseService {
       }
     }
 
+    /**
+     * column family descriptor of column family to be added
+     */
     public TColumnFamilyDescriptor getColumn() {
       return this.column;
     }
 
+    /**
+     * column family descriptor of column family to be added
+     */
     public addColumnFamily_args setColumn(TColumnFamilyDescriptor column) {
       this.column = column;
       return this;
@@ -42504,12 +42965,24 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new deleteColumnFamily_argsTupleSchemeFactory());
     }
 
+    /**
+     * the tablename to delete column family from
+     */
     public TTableName tableName; // required
+    /**
+     * name of column family to be deleted
+     */
     public ByteBuffer column; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * the tablename to delete column family from
+       */
       TABLE_NAME((short)1, "tableName"),
+      /**
+       * name of column family to be deleted
+       */
       COLUMN((short)2, "column");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -42614,10 +43087,16 @@ public class THBaseService {
       this.column = null;
     }
 
+    /**
+     * the tablename to delete column family from
+     */
     public TTableName getTableName() {
       return this.tableName;
     }
 
+    /**
+     * the tablename to delete column family from
+     */
     public deleteColumnFamily_args setTableName(TTableName tableName) {
       this.tableName = tableName;
       return this;
@@ -42638,6 +43117,9 @@ public class THBaseService {
       }
     }
 
+    /**
+     * name of column family to be deleted
+     */
     public byte[] getColumn() {
       setColumn(org.apache.thrift.TBaseHelper.rightSize(column));
       return column == null ? null : column.array();
@@ -42647,6 +43129,9 @@ public class THBaseService {
       return org.apache.thrift.TBaseHelper.copyBinary(column);
     }
 
+    /**
+     * name of column family to be deleted
+     */
     public deleteColumnFamily_args setColumn(byte[] column) {
       this.column = column == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(column, column.length));
       return this;
@@ -43337,12 +43822,24 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new modifyColumnFamily_argsTupleSchemeFactory());
     }
 
+    /**
+     * the tablename to modify column family
+     */
     public TTableName tableName; // required
+    /**
+     * column family descriptor of column family to be modified
+     */
     public TColumnFamilyDescriptor column; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * the tablename to modify column family
+       */
       TABLE_NAME((short)1, "tableName"),
+      /**
+       * column family descriptor of column family to be modified
+       */
       COLUMN((short)2, "column");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -43447,10 +43944,16 @@ public class THBaseService {
       this.column = null;
     }
 
+    /**
+     * the tablename to modify column family
+     */
     public TTableName getTableName() {
       return this.tableName;
     }
 
+    /**
+     * the tablename to modify column family
+     */
     public modifyColumnFamily_args setTableName(TTableName tableName) {
       this.tableName = tableName;
       return this;
@@ -43471,10 +43974,16 @@ public class THBaseService {
       }
     }
 
+    /**
+     * column family descriptor of column family to be modified
+     */
     public TColumnFamilyDescriptor getColumn() {
       return this.column;
     }
 
+    /**
+     * column family descriptor of column family to be modified
+     */
     public modifyColumnFamily_args setColumn(TColumnFamilyDescriptor column) {
       this.column = column;
       return this;
@@ -44164,10 +44673,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new modifyTable_argsTupleSchemeFactory());
     }
 
+    /**
+     * the descriptor of the table to modify
+     */
     public TTableDescriptor desc; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * the descriptor of the table to modify
+       */
       DESC((short)1, "desc");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -44262,10 +44777,16 @@ public class THBaseService {
       this.desc = null;
     }
 
+    /**
+     * the descriptor of the table to modify
+     */
     public TTableDescriptor getDesc() {
       return this.desc;
     }
 
+    /**
+     * the descriptor of the table to modify
+     */
     public modifyTable_args setDesc(TTableDescriptor desc) {
       this.desc = desc;
       return this;
@@ -44886,10 +45407,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new createNamespace_argsTupleSchemeFactory());
     }
 
+    /**
+     * descriptor which describes the new namespace
+     */
     public TNamespaceDescriptor namespaceDesc; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * descriptor which describes the new namespace
+       */
       NAMESPACE_DESC((short)1, "namespaceDesc");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -44984,10 +45511,16 @@ public class THBaseService {
       this.namespaceDesc = null;
     }
 
+    /**
+     * descriptor which describes the new namespace
+     */
     public TNamespaceDescriptor getNamespaceDesc() {
       return this.namespaceDesc;
     }
 
+    /**
+     * descriptor which describes the new namespace
+     */
     public createNamespace_args setNamespaceDesc(TNamespaceDescriptor namespaceDesc) {
       this.namespaceDesc = namespaceDesc;
       return this;
@@ -45608,10 +46141,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new modifyNamespace_argsTupleSchemeFactory());
     }
 
+    /**
+     * descriptor which describes the new namespace
+     */
     public TNamespaceDescriptor namespaceDesc; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * descriptor which describes the new namespace
+       */
       NAMESPACE_DESC((short)1, "namespaceDesc");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -45706,10 +46245,16 @@ public class THBaseService {
       this.namespaceDesc = null;
     }
 
+    /**
+     * descriptor which describes the new namespace
+     */
     public TNamespaceDescriptor getNamespaceDesc() {
       return this.namespaceDesc;
     }
 
+    /**
+     * descriptor which describes the new namespace
+     */
     public modifyNamespace_args setNamespaceDesc(TNamespaceDescriptor namespaceDesc) {
       this.namespaceDesc = namespaceDesc;
       return this;
@@ -46330,10 +46875,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new deleteNamespace_argsTupleSchemeFactory());
     }
 
+    /**
+     * namespace name
+     */
     public String name; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * namespace name
+       */
       NAME((short)1, "name");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -46428,10 +46979,16 @@ public class THBaseService {
       this.name = null;
     }
 
+    /**
+     * namespace name
+     */
     public String getName() {
       return this.name;
     }
 
+    /**
+     * namespace name
+     */
     public deleteNamespace_args setName(String name) {
       this.name = name;
       return this;
@@ -47047,10 +47604,16 @@ public class THBaseService {
       schemes.put(TupleScheme.class, new getNamespaceDescriptor_argsTupleSchemeFactory());
     }
 
+    /**
+     * name of namespace descriptor
+     */
     public String name; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
+      /**
+       * name of namespace descriptor
+       */
       NAME((short)1, "name");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -47145,10 +47708,16 @@ public class THBaseService {
       this.name = null;
     }
 
+    /**
+     * name of namespace descriptor
+     */
     public String getName() {
       return this.name;
     }
 
+    /**
+     * name of namespace descriptor
+     */
     public getNamespaceDescriptor_args setName(String name) {
       this.name = name;
       return this;

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionInfo.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionInfo.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionInfo.java
index 8450f5b..b430d4d 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionInfo.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionInfo.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class THRegionInfo implements org.apache.thrift.TBase<THRegionInfo, THRegionInfo._Fields>, java.io.Serializable, Cloneable, Comparable<THRegionInfo> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("THRegionInfo");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionLocation.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionLocation.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionLocation.java
index b1146e9..f64951e 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionLocation.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THRegionLocation.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class THRegionLocation implements org.apache.thrift.TBase<THRegionLocation, THRegionLocation._Fields>, java.io.Serializable, Cloneable, Comparable<THRegionLocation> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("THRegionLocation");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIOError.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIOError.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIOError.java
index 9569c3f..ccb8514 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIOError.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIOError.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
  * to the HBase master or a HBase region server. Also used to return
  * more general HBase error conditions.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TIOError extends TException implements org.apache.thrift.TBase<TIOError, TIOError._Fields>, java.io.Serializable, Cloneable, Comparable<TIOError> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TIOError");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument.java
index 6734dec..4436fc0 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIllegalArgument.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * A TIllegalArgument exception indicates an illegal or invalid
  * argument was passed into a procedure.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TIllegalArgument extends TException implements org.apache.thrift.TBase<TIllegalArgument, TIllegalArgument._Fields>, java.io.Serializable, Cloneable, Comparable<TIllegalArgument> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TIllegalArgument");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIncrement.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIncrement.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIncrement.java
index 3663e61..70d8eab 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIncrement.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIncrement.java
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
  * by changing the durability. If you don't provide durability, it defaults to
  * column family's default setting for durability.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncrement._Fields>, java.io.Serializable, Cloneable, Comparable<TIncrement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TIncrement");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TKeepDeletedCells.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TKeepDeletedCells.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TKeepDeletedCells.java
index 4ce64e2..24f4d09 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TKeepDeletedCells.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TKeepDeletedCells.java
@@ -11,6 +11,10 @@ import java.util.Map;
 import java.util.HashMap;
 import org.apache.thrift.TEnum;
 
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.KeepDeletedCells
+ */
 public enum TKeepDeletedCells implements org.apache.thrift.TEnum {
   /**
    * Deleted Cells are not retained.

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TNamespaceDescriptor.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TNamespaceDescriptor.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TNamespaceDescriptor.java
index 72d4916..1c0b41b 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TNamespaceDescriptor.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TNamespaceDescriptor.java
@@ -34,7 +34,11 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+/**
+ * Thrift wrapper around
+ * org.apache.hadoop.hbase.NamespaceDescriptor
+ */
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TNamespaceDescriptor implements org.apache.thrift.TBase<TNamespaceDescriptor, TNamespaceDescriptor._Fields>, java.io.Serializable, Cloneable, Comparable<TNamespaceDescriptor> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TNamespaceDescriptor");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TPut.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TPut.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TPut.java
index ad82c67..5739d78 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TPut.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TPut.java
@@ -46,7 +46,7 @@ import org.slf4j.LoggerFactory;
  * by changing the durability. If you don't provide durability, it defaults to
  * column family's default setting for durability.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TPut implements org.apache.thrift.TBase<TPut, TPut._Fields>, java.io.Serializable, Cloneable, Comparable<TPut> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TPut");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TResult.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TResult.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TResult.java
index c19cf89..3d40ea2 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TResult.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TResult.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * if no Result is found, row and columnValues will not be set.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields>, java.io.Serializable, Cloneable, Comparable<TResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TResult");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TRowMutations.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TRowMutations.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TRowMutations.java
index a3ab58e..cc846f5 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TRowMutations.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TRowMutations.java
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * A TRowMutations object is used to apply a number of Mutations to a single row.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TRowMutations implements org.apache.thrift.TBase<TRowMutations, TRowMutations._Fields>, java.io.Serializable, Cloneable, Comparable<TRowMutations> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TRowMutations");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java
index ddcedb4..99046cc 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * Any timestamps in the columns are ignored but the colFamTimeRangeMap included, use timeRange to select by timestamp.
  * Max versions defaults to 1.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, java.io.Serializable, Cloneable, Comparable<TScan> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TScan");
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/26700fb2/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TServerName.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TServerName.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TServerName.java
index 65f963d..e7e0372 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TServerName.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TServerName.java
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-12-28")
 public class TServerName implements org.apache.thrift.TBase<TServerName, TServerName._Fields>, java.io.Serializable, Cloneable, Comparable<TServerName> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TServerName");