You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2018/08/07 21:53:24 UTC

[1/6] hbase git commit: HBASE-20845 Support set the consistency for Gets and Scans in thrift2

Repository: hbase
Updated Branches:
  refs/heads/branch-1 d79bb23c6 -> 851033163
  refs/heads/branch-2 e0bba12fe -> 1cb72aedb
  refs/heads/master 4329330cf -> b9413839a


http://git-wip-us.apache.org/repos/asf/hbase/blob/b9413839/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 8c16012..317f9b5 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,12 +37,13 @@ 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 = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-07-04")
 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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -52,11 +53,13 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
 
   public ByteBuffer row; // optional
   public List<TColumnValue> columnValues; // required
+  public boolean stale; // 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");
+    COLUMN_VALUES((short)2, "columnValues"),
+    STALE((short)3, "stale");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -75,6 +78,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
           return ROW;
         case 2: // COLUMN_VALUES
           return COLUMN_VALUES;
+        case 3: // STALE
+          return STALE;
         default:
           return null;
       }
@@ -115,7 +120,9 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
   }
 
   // isset id assignments
-  private static final _Fields optionals[] = {_Fields.ROW};
+  private static final int __STALE_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.ROW,_Fields.STALE};
   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);
@@ -124,11 +131,15 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     tmpMap.put(_Fields.COLUMN_VALUES, new org.apache.thrift.meta_data.FieldMetaData("columnValues", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         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, 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)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TResult.class, metaDataMap);
   }
 
   public TResult() {
+    this.stale = false;
+
   }
 
   public TResult(
@@ -142,6 +153,7 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
    * Performs a deep copy on <i>other</i>.
    */
   public TResult(TResult other) {
+    __isset_bitfield = other.__isset_bitfield;
     if (other.isSetRow()) {
       this.row = org.apache.thrift.TBaseHelper.copyBinary(other.row);
     }
@@ -152,6 +164,7 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       }
       this.columnValues = __this__columnValues;
     }
+    this.stale = other.stale;
   }
 
   public TResult deepCopy() {
@@ -162,6 +175,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
   public void clear() {
     this.row = null;
     this.columnValues = null;
+    this.stale = false;
+
   }
 
   public byte[] getRow() {
@@ -237,6 +252,29 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     }
   }
 
+  public boolean isStale() {
+    return this.stale;
+  }
+
+  public TResult setStale(boolean stale) {
+    this.stale = stale;
+    setStaleIsSet(true);
+    return this;
+  }
+
+  public void unsetStale() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __STALE_ISSET_ID);
+  }
+
+  /** Returns true if field stale is set (has been assigned a value) and false otherwise */
+  public boolean isSetStale() {
+    return EncodingUtils.testBit(__isset_bitfield, __STALE_ISSET_ID);
+  }
+
+  public void setStaleIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __STALE_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case ROW:
@@ -255,6 +293,14 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       }
       break;
 
+    case STALE:
+      if (value == null) {
+        unsetStale();
+      } else {
+        setStale((Boolean)value);
+      }
+      break;
+
     }
   }
 
@@ -266,6 +312,9 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     case COLUMN_VALUES:
       return getColumnValues();
 
+    case STALE:
+      return isStale();
+
     }
     throw new IllegalStateException();
   }
@@ -281,6 +330,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       return isSetRow();
     case COLUMN_VALUES:
       return isSetColumnValues();
+    case STALE:
+      return isSetStale();
     }
     throw new IllegalStateException();
   }
@@ -316,6 +367,15 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         return false;
     }
 
+    boolean this_present_stale = true && this.isSetStale();
+    boolean that_present_stale = true && that.isSetStale();
+    if (this_present_stale || that_present_stale) {
+      if (!(this_present_stale && that_present_stale))
+        return false;
+      if (this.stale != that.stale)
+        return false;
+    }
+
     return true;
   }
 
@@ -333,6 +393,11 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     if (present_columnValues)
       list.add(columnValues);
 
+    boolean present_stale = true && (isSetStale());
+    list.add(present_stale);
+    if (present_stale)
+      list.add(stale);
+
     return list.hashCode();
   }
 
@@ -364,6 +429,16 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetStale()).compareTo(other.isSetStale());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetStale()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.stale, other.stale);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -401,6 +476,12 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       sb.append(this.columnValues);
     }
     first = false;
+    if (isSetStale()) {
+      if (!first) sb.append(", ");
+      sb.append("stale:");
+      sb.append(this.stale);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -423,6 +504,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._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);
@@ -474,6 +557,14 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 3: // STALE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.stale = iprot.readBool();
+              struct.setStaleIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -508,6 +599,11 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         }
         oprot.writeFieldEnd();
       }
+      if (struct.isSetStale()) {
+        oprot.writeFieldBegin(STALE_FIELD_DESC);
+        oprot.writeBool(struct.stale);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -536,10 +632,16 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       if (struct.isSetRow()) {
         optionals.set(0);
       }
-      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetStale()) {
+        optionals.set(1);
+      }
+      oprot.writeBitSet(optionals, 2);
       if (struct.isSetRow()) {
         oprot.writeBinary(struct.row);
       }
+      if (struct.isSetStale()) {
+        oprot.writeBool(struct.stale);
+      }
     }
 
     @Override
@@ -557,11 +659,15 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         }
       }
       struct.setColumnValuesIsSet(true);
-      BitSet incoming = iprot.readBitSet(1);
+      BitSet incoming = iprot.readBitSet(2);
       if (incoming.get(0)) {
         struct.row = iprot.readBinary();
         struct.setRowIsSet(true);
       }
+      if (incoming.get(1)) {
+        struct.stale = iprot.readBool();
+        struct.setStaleIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/b9413839/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 1839207..b5ece00 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 = "2017-03-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-07-03")
 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");
 
@@ -57,6 +57,8 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
   private static final org.apache.thrift.protocol.TField COL_FAM_TIME_RANGE_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("colFamTimeRangeMap", org.apache.thrift.protocol.TType.MAP, (short)13);
   private static final org.apache.thrift.protocol.TField READ_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("readType", org.apache.thrift.protocol.TType.I32, (short)14);
   private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I32, (short)15);
+  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)16);
+  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)17);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -83,6 +85,12 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
    */
   public TReadType readType; // optional
   public int limit; // optional
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TConsistency consistency; // optional
+  public int targetReplicaId; // 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 {
@@ -104,7 +112,13 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
      * @see TReadType
      */
     READ_TYPE((short)14, "readType"),
-    LIMIT((short)15, "limit");
+    LIMIT((short)15, "limit"),
+    /**
+     * 
+     * @see TConsistency
+     */
+    CONSISTENCY((short)16, "consistency"),
+    TARGET_REPLICA_ID((short)17, "targetReplicaId");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -149,6 +163,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
           return READ_TYPE;
         case 15: // LIMIT
           return LIMIT;
+        case 16: // CONSISTENCY
+          return CONSISTENCY;
+        case 17: // TARGET_REPLICA_ID
+          return TARGET_REPLICA_ID;
         default:
           return null;
       }
@@ -195,8 +213,9 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
   private static final int __REVERSED_ISSET_ID = 3;
   private static final int __CACHEBLOCKS_ISSET_ID = 4;
   private static final int __LIMIT_ISSET_ID = 5;
+  private static final int __TARGETREPLICAID_ISSET_ID = 6;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.START_ROW,_Fields.STOP_ROW,_Fields.COLUMNS,_Fields.CACHING,_Fields.MAX_VERSIONS,_Fields.TIME_RANGE,_Fields.FILTER_STRING,_Fields.BATCH_SIZE,_Fields.ATTRIBUTES,_Fields.AUTHORIZATIONS,_Fields.REVERSED,_Fields.CACHE_BLOCKS,_Fields.COL_FAM_TIME_RANGE_MAP,_Fields.READ_TYPE,_Fields.LIMIT};
+  private static final _Fields optionals[] = {_Fields.START_ROW,_Fields.STOP_ROW,_Fields.COLUMNS,_Fields.CACHING,_Fields.MAX_VERSIONS,_Fields.TIME_RANGE,_Fields.FILTER_STRING,_Fields.BATCH_SIZE,_Fields.ATTRIBUTES,_Fields.AUTHORIZATIONS,_Fields.REVERSED,_Fields.CACHE_BLOCKS,_Fields.COL_FAM_TIME_RANGE_MAP,_Fields.READ_TYPE,_Fields.LIMIT,_Fields.CONSISTENCY,_Fields.TARGET_REPLICA_ID};
   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);
@@ -235,6 +254,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TReadType.class)));
     tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.CONSISTENCY, new org.apache.thrift.meta_data.FieldMetaData("consistency", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        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)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TScan.class, metaDataMap);
   }
@@ -299,6 +322,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       this.readType = other.readType;
     }
     this.limit = other.limit;
+    if (other.isSetConsistency()) {
+      this.consistency = other.consistency;
+    }
+    this.targetReplicaId = other.targetReplicaId;
   }
 
   public TScan deepCopy() {
@@ -328,6 +355,9 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     this.readType = null;
     setLimitIsSet(false);
     this.limit = 0;
+    this.consistency = null;
+    setTargetReplicaIdIsSet(false);
+    this.targetReplicaId = 0;
   }
 
   public byte[] getStartRow() {
@@ -759,6 +789,61 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
   }
 
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TConsistency getConsistency() {
+    return this.consistency;
+  }
+
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TScan setConsistency(TConsistency consistency) {
+    this.consistency = consistency;
+    return this;
+  }
+
+  public void unsetConsistency() {
+    this.consistency = null;
+  }
+
+  /** Returns true if field consistency is set (has been assigned a value) and false otherwise */
+  public boolean isSetConsistency() {
+    return this.consistency != null;
+  }
+
+  public void setConsistencyIsSet(boolean value) {
+    if (!value) {
+      this.consistency = null;
+    }
+  }
+
+  public int getTargetReplicaId() {
+    return this.targetReplicaId;
+  }
+
+  public TScan setTargetReplicaId(int targetReplicaId) {
+    this.targetReplicaId = targetReplicaId;
+    setTargetReplicaIdIsSet(true);
+    return this;
+  }
+
+  public void unsetTargetReplicaId() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID);
+  }
+
+  /** Returns true if field targetReplicaId is set (has been assigned a value) and false otherwise */
+  public boolean isSetTargetReplicaId() {
+    return EncodingUtils.testBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID);
+  }
+
+  public void setTargetReplicaIdIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case START_ROW:
@@ -881,6 +966,22 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       }
       break;
 
+    case CONSISTENCY:
+      if (value == null) {
+        unsetConsistency();
+      } else {
+        setConsistency((TConsistency)value);
+      }
+      break;
+
+    case TARGET_REPLICA_ID:
+      if (value == null) {
+        unsetTargetReplicaId();
+      } else {
+        setTargetReplicaId((Integer)value);
+      }
+      break;
+
     }
   }
 
@@ -931,6 +1032,12 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     case LIMIT:
       return getLimit();
 
+    case CONSISTENCY:
+      return getConsistency();
+
+    case TARGET_REPLICA_ID:
+      return getTargetReplicaId();
+
     }
     throw new IllegalStateException();
   }
@@ -972,6 +1079,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       return isSetReadType();
     case LIMIT:
       return isSetLimit();
+    case CONSISTENCY:
+      return isSetConsistency();
+    case TARGET_REPLICA_ID:
+      return isSetTargetReplicaId();
     }
     throw new IllegalStateException();
   }
@@ -1124,6 +1235,24 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         return false;
     }
 
+    boolean this_present_consistency = true && this.isSetConsistency();
+    boolean that_present_consistency = true && that.isSetConsistency();
+    if (this_present_consistency || that_present_consistency) {
+      if (!(this_present_consistency && that_present_consistency))
+        return false;
+      if (!this.consistency.equals(that.consistency))
+        return false;
+    }
+
+    boolean this_present_targetReplicaId = true && this.isSetTargetReplicaId();
+    boolean that_present_targetReplicaId = true && that.isSetTargetReplicaId();
+    if (this_present_targetReplicaId || that_present_targetReplicaId) {
+      if (!(this_present_targetReplicaId && that_present_targetReplicaId))
+        return false;
+      if (this.targetReplicaId != that.targetReplicaId)
+        return false;
+    }
+
     return true;
   }
 
@@ -1206,6 +1335,16 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     if (present_limit)
       list.add(limit);
 
+    boolean present_consistency = true && (isSetConsistency());
+    list.add(present_consistency);
+    if (present_consistency)
+      list.add(consistency.getValue());
+
+    boolean present_targetReplicaId = true && (isSetTargetReplicaId());
+    list.add(present_targetReplicaId);
+    if (present_targetReplicaId)
+      list.add(targetReplicaId);
+
     return list.hashCode();
   }
 
@@ -1367,6 +1506,26 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetConsistency()).compareTo(other.isSetConsistency());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetConsistency()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.consistency, other.consistency);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTargetReplicaId()).compareTo(other.isSetTargetReplicaId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTargetReplicaId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.targetReplicaId, other.targetReplicaId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -1512,6 +1671,22 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       sb.append(this.limit);
       first = false;
     }
+    if (isSetConsistency()) {
+      if (!first) sb.append(", ");
+      sb.append("consistency:");
+      if (this.consistency == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.consistency);
+      }
+      first = false;
+    }
+    if (isSetTargetReplicaId()) {
+      if (!first) sb.append(", ");
+      sb.append("targetReplicaId:");
+      sb.append(this.targetReplicaId);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1721,6 +1896,22 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 16: // CONSISTENCY
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.consistency = org.apache.hadoop.hbase.thrift2.generated.TConsistency.findByValue(iprot.readI32());
+              struct.setConsistencyIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 17: // TARGET_REPLICA_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.targetReplicaId = iprot.readI32();
+              struct.setTargetReplicaIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1852,6 +2043,18 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         oprot.writeI32(struct.limit);
         oprot.writeFieldEnd();
       }
+      if (struct.consistency != null) {
+        if (struct.isSetConsistency()) {
+          oprot.writeFieldBegin(CONSISTENCY_FIELD_DESC);
+          oprot.writeI32(struct.consistency.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetTargetReplicaId()) {
+        oprot.writeFieldBegin(TARGET_REPLICA_ID_FIELD_DESC);
+        oprot.writeI32(struct.targetReplicaId);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1915,7 +2118,13 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       if (struct.isSetLimit()) {
         optionals.set(14);
       }
-      oprot.writeBitSet(optionals, 15);
+      if (struct.isSetConsistency()) {
+        optionals.set(15);
+      }
+      if (struct.isSetTargetReplicaId()) {
+        optionals.set(16);
+      }
+      oprot.writeBitSet(optionals, 17);
       if (struct.isSetStartRow()) {
         oprot.writeBinary(struct.startRow);
       }
@@ -1981,12 +2190,18 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       if (struct.isSetLimit()) {
         oprot.writeI32(struct.limit);
       }
+      if (struct.isSetConsistency()) {
+        oprot.writeI32(struct.consistency.getValue());
+      }
+      if (struct.isSetTargetReplicaId()) {
+        oprot.writeI32(struct.targetReplicaId);
+      }
     }
 
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, TScan struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(15);
+      BitSet incoming = iprot.readBitSet(17);
       if (incoming.get(0)) {
         struct.startRow = iprot.readBinary();
         struct.setStartRowIsSet(true);
@@ -2082,6 +2297,14 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         struct.limit = iprot.readI32();
         struct.setLimitIsSet(true);
       }
+      if (incoming.get(15)) {
+        struct.consistency = org.apache.hadoop.hbase.thrift2.generated.TConsistency.findByValue(iprot.readI32());
+        struct.setConsistencyIsSet(true);
+      }
+      if (incoming.get(16)) {
+        struct.targetReplicaId = iprot.readI32();
+        struct.setTargetReplicaIdIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/b9413839/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 8c5ef59..79196f4 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
@@ -65,7 +65,8 @@ struct TColumnIncrement {
  */
 struct TResult {
   1: optional binary row,
-  2: required list<TColumnValue> columnValues
+  2: required list<TColumnValue> columnValues,
+  3: optional bool stale = false
 }
 
 /**
@@ -101,6 +102,17 @@ struct TAuthorization {
 struct TCellVisibility {
  1: optional string expression
 }
+
+/**
+ * Specify Consistency:
+ *  - STRONG means reads only from primary region
+ *  - TIMELINE means reads might return values from secondary region replicas
+ */
+enum TConsistency {
+  STRONG = 1,
+  TIMELINE = 2
+}
+
 /**
  * Used to perform Get operations on a single row.
  *
@@ -125,6 +137,8 @@ struct TGet {
   6: optional binary filterString,
   7: optional map<binary, binary> attributes
   8: optional TAuthorization authorizations
+  9: optional TConsistency consistency
+  10: optional i32 targetReplicaId
 }
 
 /**
@@ -236,6 +250,8 @@ struct TScan {
   13: optional map<binary,TTimeRange> colFamTimeRangeMap
   14: optional TReadType readType
   15: optional i32 limit
+  16: optional TConsistency consistency
+  17: optional i32 targetReplicaId
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/hbase/blob/b9413839/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 3653ce5..1626121 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
@@ -52,6 +52,7 @@ import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.Consistency;
 import org.apache.hadoop.hbase.client.Delete;
 import org.apache.hadoop.hbase.client.Durability;
 import org.apache.hadoop.hbase.client.Get;
@@ -75,6 +76,7 @@ import org.apache.hadoop.hbase.thrift2.generated.TColumn;
 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.TDelete;
 import org.apache.hadoop.hbase.thrift2.generated.TDeleteType;
 import org.apache.hadoop.hbase.thrift2.generated.TDurability;
@@ -1559,6 +1561,37 @@ public class TestThriftHBaseServiceHandler {
     assertTColumnValueEqual(columnValueB, result.getColumnValues().get(1));
   }
 
+  @Test
+  public void testConsistency() throws Exception {
+    byte[] rowName = Bytes.toBytes("testConsistency");
+    TGet tGet = new TGet(wrap(rowName));
+    tGet.setConsistency(TConsistency.STRONG);
+    Get get = getFromThrift(tGet);
+    assertEquals(Consistency.STRONG, get.getConsistency());
+
+    tGet.setConsistency(TConsistency.TIMELINE);
+    tGet.setTargetReplicaId(1);
+    get = getFromThrift(tGet);
+    assertEquals(Consistency.TIMELINE, get.getConsistency());
+    assertEquals(1, get.getReplicaId());
+
+    TScan tScan = new TScan();
+    tScan.setConsistency(TConsistency.STRONG);
+    Scan scan = scanFromThrift(tScan);
+    assertEquals(Consistency.STRONG, scan.getConsistency());
+
+    tScan.setConsistency(TConsistency.TIMELINE);
+    tScan.setTargetReplicaId(1);
+    scan = scanFromThrift(tScan);
+    assertEquals(Consistency.TIMELINE, scan.getConsistency());
+    assertEquals(1, scan.getReplicaId());
+
+    TResult tResult = new TResult();
+    assertFalse(tResult.isSetStale());
+    tResult.setStale(true);
+    assertTrue(tResult.isSetStale());
+  }
+
   public static class DelayingRegionObserver implements RegionCoprocessor, RegionObserver {
     private static final Logger LOG = LoggerFactory.getLogger(DelayingRegionObserver.class);
     // sleep time in msec


[6/6] hbase git commit: HBASE-20845 Support set the consistency for Gets and Scans in thrift2

Posted by ap...@apache.org.
HBASE-20845 Support set the consistency for Gets and Scans in thrift2

Signed-off-by: Andrew Purtell <ap...@apache.org>

Conflicts:
	hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java
	hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java
	hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/THBaseService.java
	hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TResult.java
	hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java
	hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift
	hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift2/TestThriftHBaseServiceHandler.java


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

Branch: refs/heads/branch-1
Commit: 8510331637c6a6e7fc5d1c48f5723783b8c350d2
Parents: d79bb23
Author: Guangxu Cheng <gu...@gmail.com>
Authored: Thu Jul 5 10:49:01 2018 +0800
Committer: Andrew Purtell <ap...@apache.org>
Committed: Tue Aug 7 13:49:19 2018 -0700

----------------------------------------------------------------------
 .../hadoop/hbase/thrift2/ThriftUtilities.java   |  30 +-
 .../hbase/thrift2/generated/TConsistency.java   |  50 ++
 .../hadoop/hbase/thrift2/generated/TGet.java    | 233 +++++-
 .../hbase/thrift2/generated/THBaseService.java  | 703 ++++++++++---------
 .../hadoop/hbase/thrift2/generated/TResult.java | 116 ++-
 .../hbase/thrift2/generated/TRowMutations.java  |  38 +-
 .../hadoop/hbase/thrift2/generated/TScan.java   | 233 +++++-
 .../apache/hadoop/hbase/thrift2/hbase.thrift    |  18 +-
 .../thrift2/TestThriftHBaseServiceHandler.java  |  35 +
 9 files changed, 1104 insertions(+), 352 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/85103316/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 c4bcbdc..fd5ab9a 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
@@ -35,6 +35,7 @@ import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.client.Append;
+import org.apache.hadoop.hbase.client.Consistency;
 import org.apache.hadoop.hbase.client.Delete;
 import org.apache.hadoop.hbase.client.Durability;
 import org.apache.hadoop.hbase.client.Get;
@@ -54,6 +55,7 @@ import org.apache.hadoop.hbase.thrift2.generated.TColumn;
 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.TDelete;
 import org.apache.hadoop.hbase.thrift2.generated.TDeleteType;
 import org.apache.hadoop.hbase.thrift2.generated.TDurability;
@@ -114,7 +116,15 @@ public class ThriftUtilities {
     if (in.isSetAuthorizations()) {
       out.setAuthorizations(new Authorizations(in.getAuthorizations().getLabels()));
     }
-    
+
+    if (in.isSetConsistency()) {
+      out.setConsistency(consistencyFromThrift(in.getConsistency()));
+    }
+
+    if (in.isSetTargetReplicaId()) {
+      out.setReplicaId(in.getTargetReplicaId());
+    }
+
     if (!in.isSetColumns()) {
       return out;
     }
@@ -175,6 +185,8 @@ public class ThriftUtilities {
       columnValues.add(col);
     }
     out.setColumnValues(columnValues);
+
+    out.setStale(in.isStale());
     return out;
   }
 
@@ -450,6 +462,14 @@ public class ThriftUtilities {
       out.setSmall(in.isSmall());
     }
 
+    if (in.isSetConsistency()) {
+      out.setConsistency(consistencyFromThrift(in.getConsistency()));
+    }
+
+    if (in.isSetTargetReplicaId()) {
+      out.setReplicaId(in.getTargetReplicaId());
+    }
+
     return out;
   }
 
@@ -565,4 +585,12 @@ public class ThriftUtilities {
       default: return null;
     }
   }
+
+  private static Consistency consistencyFromThrift(TConsistency tConsistency) {
+    switch (tConsistency.getValue()) {
+      case 1: return Consistency.STRONG;
+      case 2: return Consistency.TIMELINE;
+      default: return Consistency.STRONG;
+    }
+  }
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/85103316/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TConsistency.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TConsistency.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TConsistency.java
new file mode 100644
index 0000000..b473d02
--- /dev/null
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TConsistency.java
@@ -0,0 +1,50 @@
+/**
+ * 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;
+
+/**
+ * Specify Consistency:
+ *  - STRONG means reads only from primary region
+ *  - TIMELINE means reads might return values from secondary region replicas
+ */
+public enum TConsistency implements org.apache.thrift.TEnum {
+  STRONG(1),
+  TIMELINE(2);
+
+  private final int value;
+
+  private TConsistency(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 TConsistency findByValue(int value) { 
+    switch (value) {
+      case 1:
+        return STRONG;
+      case 2:
+        return TIMELINE;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/hbase/blob/85103316/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 a1141b2..d29f508 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 = "2016-05-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-08-07")
 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");
 
@@ -59,6 +59,8 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
   private static final org.apache.thrift.protocol.TField FILTER_STRING_FIELD_DESC = new org.apache.thrift.protocol.TField("filterString", org.apache.thrift.protocol.TType.STRING, (short)6);
   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)7);
   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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -74,6 +76,12 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
   public ByteBuffer filterString; // optional
   public Map<ByteBuffer,ByteBuffer> attributes; // optional
   public TAuthorization authorizations; // optional
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TConsistency consistency; // optional
+  public int targetReplicaId; // 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 {
@@ -84,7 +92,13 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     MAX_VERSIONS((short)5, "maxVersions"),
     FILTER_STRING((short)6, "filterString"),
     ATTRIBUTES((short)7, "attributes"),
-    AUTHORIZATIONS((short)8, "authorizations");
+    AUTHORIZATIONS((short)8, "authorizations"),
+    /**
+     * 
+     * @see TConsistency
+     */
+    CONSISTENCY((short)9, "consistency"),
+    TARGET_REPLICA_ID((short)10, "targetReplicaId");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -115,6 +129,10 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
           return ATTRIBUTES;
         case 8: // AUTHORIZATIONS
           return AUTHORIZATIONS;
+        case 9: // CONSISTENCY
+          return CONSISTENCY;
+        case 10: // TARGET_REPLICA_ID
+          return TARGET_REPLICA_ID;
         default:
           return null;
       }
@@ -157,8 +175,9 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
   // isset id assignments
   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 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};
+  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};
   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);
@@ -181,6 +200,10 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING            , true))));
     tmpMap.put(_Fields.AUTHORIZATIONS, new org.apache.thrift.meta_data.FieldMetaData("authorizations", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TAuthorization.class)));
+    tmpMap.put(_Fields.CONSISTENCY, new org.apache.thrift.meta_data.FieldMetaData("consistency", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        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)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TGet.class, metaDataMap);
   }
@@ -225,6 +248,10 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     if (other.isSetAuthorizations()) {
       this.authorizations = new TAuthorization(other.authorizations);
     }
+    if (other.isSetConsistency()) {
+      this.consistency = other.consistency;
+    }
+    this.targetReplicaId = other.targetReplicaId;
   }
 
   public TGet deepCopy() {
@@ -243,6 +270,9 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     this.filterString = null;
     this.attributes = null;
     this.authorizations = null;
+    this.consistency = null;
+    setTargetReplicaIdIsSet(false);
+    this.targetReplicaId = 0;
   }
 
   public byte[] getRow() {
@@ -481,6 +511,61 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     }
   }
 
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TConsistency getConsistency() {
+    return this.consistency;
+  }
+
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TGet setConsistency(TConsistency consistency) {
+    this.consistency = consistency;
+    return this;
+  }
+
+  public void unsetConsistency() {
+    this.consistency = null;
+  }
+
+  /** Returns true if field consistency is set (has been assigned a value) and false otherwise */
+  public boolean isSetConsistency() {
+    return this.consistency != null;
+  }
+
+  public void setConsistencyIsSet(boolean value) {
+    if (!value) {
+      this.consistency = null;
+    }
+  }
+
+  public int getTargetReplicaId() {
+    return this.targetReplicaId;
+  }
+
+  public TGet setTargetReplicaId(int targetReplicaId) {
+    this.targetReplicaId = targetReplicaId;
+    setTargetReplicaIdIsSet(true);
+    return this;
+  }
+
+  public void unsetTargetReplicaId() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID);
+  }
+
+  /** Returns true if field targetReplicaId is set (has been assigned a value) and false otherwise */
+  public boolean isSetTargetReplicaId() {
+    return EncodingUtils.testBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID);
+  }
+
+  public void setTargetReplicaIdIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case ROW:
@@ -547,6 +632,22 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       }
       break;
 
+    case CONSISTENCY:
+      if (value == null) {
+        unsetConsistency();
+      } else {
+        setConsistency((TConsistency)value);
+      }
+      break;
+
+    case TARGET_REPLICA_ID:
+      if (value == null) {
+        unsetTargetReplicaId();
+      } else {
+        setTargetReplicaId((Integer)value);
+      }
+      break;
+
     }
   }
 
@@ -576,6 +677,12 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     case AUTHORIZATIONS:
       return getAuthorizations();
 
+    case CONSISTENCY:
+      return getConsistency();
+
+    case TARGET_REPLICA_ID:
+      return getTargetReplicaId();
+
     }
     throw new IllegalStateException();
   }
@@ -603,6 +710,10 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       return isSetAttributes();
     case AUTHORIZATIONS:
       return isSetAuthorizations();
+    case CONSISTENCY:
+      return isSetConsistency();
+    case TARGET_REPLICA_ID:
+      return isSetTargetReplicaId();
     }
     throw new IllegalStateException();
   }
@@ -692,6 +803,24 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
         return false;
     }
 
+    boolean this_present_consistency = true && this.isSetConsistency();
+    boolean that_present_consistency = true && that.isSetConsistency();
+    if (this_present_consistency || that_present_consistency) {
+      if (!(this_present_consistency && that_present_consistency))
+        return false;
+      if (!this.consistency.equals(that.consistency))
+        return false;
+    }
+
+    boolean this_present_targetReplicaId = true && this.isSetTargetReplicaId();
+    boolean that_present_targetReplicaId = true && that.isSetTargetReplicaId();
+    if (this_present_targetReplicaId || that_present_targetReplicaId) {
+      if (!(this_present_targetReplicaId && that_present_targetReplicaId))
+        return false;
+      if (this.targetReplicaId != that.targetReplicaId)
+        return false;
+    }
+
     return true;
   }
 
@@ -739,6 +868,16 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     if (present_authorizations)
       list.add(authorizations);
 
+    boolean present_consistency = true && (isSetConsistency());
+    list.add(present_consistency);
+    if (present_consistency)
+      list.add(consistency.getValue());
+
+    boolean present_targetReplicaId = true && (isSetTargetReplicaId());
+    list.add(present_targetReplicaId);
+    if (present_targetReplicaId)
+      list.add(targetReplicaId);
+
     return list.hashCode();
   }
 
@@ -830,6 +969,26 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetConsistency()).compareTo(other.isSetConsistency());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetConsistency()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.consistency, other.consistency);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTargetReplicaId()).compareTo(other.isSetTargetReplicaId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTargetReplicaId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.targetReplicaId, other.targetReplicaId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -919,6 +1078,22 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       }
       first = false;
     }
+    if (isSetConsistency()) {
+      if (!first) sb.append(", ");
+      sb.append("consistency:");
+      if (this.consistency == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.consistency);
+      }
+      first = false;
+    }
+    if (isSetTargetReplicaId()) {
+      if (!first) sb.append(", ");
+      sb.append("targetReplicaId:");
+      sb.append(this.targetReplicaId);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1062,6 +1237,22 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 9: // CONSISTENCY
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.consistency = org.apache.hadoop.hbase.thrift2.generated.TConsistency.findByValue(iprot.readI32());
+              struct.setConsistencyIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // TARGET_REPLICA_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.targetReplicaId = iprot.readI32();
+              struct.setTargetReplicaIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1142,6 +1333,18 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
           oprot.writeFieldEnd();
         }
       }
+      if (struct.consistency != null) {
+        if (struct.isSetConsistency()) {
+          oprot.writeFieldBegin(CONSISTENCY_FIELD_DESC);
+          oprot.writeI32(struct.consistency.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetTargetReplicaId()) {
+        oprot.writeFieldBegin(TARGET_REPLICA_ID_FIELD_DESC);
+        oprot.writeI32(struct.targetReplicaId);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1182,7 +1385,13 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       if (struct.isSetAuthorizations()) {
         optionals.set(6);
       }
-      oprot.writeBitSet(optionals, 7);
+      if (struct.isSetConsistency()) {
+        optionals.set(7);
+      }
+      if (struct.isSetTargetReplicaId()) {
+        optionals.set(8);
+      }
+      oprot.writeBitSet(optionals, 9);
       if (struct.isSetColumns()) {
         {
           oprot.writeI32(struct.columns.size());
@@ -1217,6 +1426,12 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       if (struct.isSetAuthorizations()) {
         struct.authorizations.write(oprot);
       }
+      if (struct.isSetConsistency()) {
+        oprot.writeI32(struct.consistency.getValue());
+      }
+      if (struct.isSetTargetReplicaId()) {
+        oprot.writeI32(struct.targetReplicaId);
+      }
     }
 
     @Override
@@ -1224,7 +1439,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(7);
+      BitSet incoming = iprot.readBitSet(9);
       if (incoming.get(0)) {
         {
           org.apache.thrift.protocol.TList _list27 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
@@ -1276,6 +1491,14 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
         struct.authorizations.read(iprot);
         struct.setAuthorizationsIsSet(true);
       }
+      if (incoming.get(7)) {
+        struct.consistency = org.apache.hadoop.hbase.thrift2.generated.TConsistency.findByValue(iprot.readI32());
+        struct.setConsistencyIsSet(true);
+      }
+      if (incoming.get(8)) {
+        struct.targetReplicaId = iprot.readI32();
+        struct.setTargetReplicaIdIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/85103316/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 75ca93d..6b9f798 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 = "2016-05-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-08-07")
 public class THBaseService {
 
   public interface Iface {
@@ -52,12 +52,12 @@ public class THBaseService {
 
     /**
      * Test for the existence of columns in the table, as specified by the TGets.
-     *
+     * 
      * This will return an array of booleans. Each value will be true if the related Get matches
      * one or more keys, false if not.
-     *
+     * 
      * @param table the table to check on
-     *
+     * 
      * @param tgets a list of TGets to check for
      */
     public List<Boolean> existsAll(ByteBuffer table, List<TGet> tgets) throws TIOError, org.apache.thrift.TException;
@@ -288,7 +288,7 @@ public class THBaseService {
 
     public void exists(ByteBuffer table, TGet tget, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void existsAll(ByteBuffer table, List<TGet> tgets, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.existsAll_call> resultHandler) throws org.apache.thrift.TException;
+    public void existsAll(ByteBuffer table, List<TGet> tgets, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void get(ByteBuffer table, TGet tget, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -945,7 +945,7 @@ public class THBaseService {
       }
     }
 
-    public void existsAll(ByteBuffer table, List<TGet> tgets, org.apache.thrift.async.AsyncMethodCallback<existsAll_call> resultHandler) throws org.apache.thrift.TException {
+    public void existsAll(ByteBuffer table, List<TGet> tgets, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       existsAll_call method_call = new existsAll_call(table, tgets, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
@@ -955,7 +955,7 @@ public class THBaseService {
     public static class existsAll_call extends org.apache.thrift.async.TAsyncMethodCall {
       private ByteBuffer table;
       private List<TGet> tgets;
-      public existsAll_call(ByteBuffer table, List<TGet> tgets, org.apache.thrift.async.AsyncMethodCallback<existsAll_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public existsAll_call(ByteBuffer table, List<TGet> tgets, 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;
         this.tgets = tgets;
@@ -1733,6 +1733,7 @@ public class THBaseService {
         return result;
       }
     }
+
     public static class get<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_args> {
       public get() {
         super("get");
@@ -2187,6 +2188,7 @@ public class THBaseService {
 
     private static <I extends AsyncIface> Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(Map<String,  org.apache.thrift.AsyncProcessFunction<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());
@@ -2266,6 +2268,63 @@ public class THBaseService {
       }
     }
 
+    public static class existsAll<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, existsAll_args, List<Boolean>> {
+      public existsAll() {
+        super("existsAll");
+      }
+
+      public existsAll_args getEmptyArgsInstance() {
+        return new existsAll_args();
+      }
+
+      public AsyncMethodCallback<List<Boolean>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<List<Boolean>>() { 
+          public void onComplete(List<Boolean> o) {
+            existsAll_result result = new existsAll_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            existsAll_result result = new existsAll_result();
+            if (e instanceof TIOError) {
+                        result.io = (TIOError) e;
+                        result.setIoIsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, existsAll_args args, org.apache.thrift.async.AsyncMethodCallback<List<Boolean>> resultHandler) throws TException {
+        iface.existsAll(args.table, args.tgets,resultHandler);
+      }
+    }
+
     public static class get<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_args, TResult> {
       public get() {
         super("get");
@@ -4265,14 +4324,13 @@ public class THBaseService {
 
   }
 
-  public static class existsAll_args implements org.apache.thrift.TBase<existsAll_args, existsAll_args._Fields>, java.io.Serializable, Cloneable {
+  public static class existsAll_args implements org.apache.thrift.TBase<existsAll_args, existsAll_args._Fields>, java.io.Serializable, Cloneable, Comparable<existsAll_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("existsAll_args");
 
-    private static final org.apache.thrift.protocol.TField TABLE_FIELD_DESC = new org.apache.thrift.protocol.TField("table", org.apache.thrift.protocol.TType.STRING, (short) 1);
-    private static final org.apache.thrift.protocol.TField TGETS_FIELD_DESC = new org.apache.thrift.protocol.TField("tgets", org.apache.thrift.protocol.TType.LIST, (short) 2);
+    private static final org.apache.thrift.protocol.TField TABLE_FIELD_DESC = new org.apache.thrift.protocol.TField("table", org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField TGETS_FIELD_DESC = new org.apache.thrift.protocol.TField("tgets", org.apache.thrift.protocol.TType.LIST, (short)2);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-
     static {
       schemes.put(StandardScheme.class, new existsAll_argsStandardSchemeFactory());
       schemes.put(TupleScheme.class, new existsAll_argsTupleSchemeFactory());
@@ -4287,18 +4345,16 @@ public class THBaseService {
      */
     public List<TGet> tgets; // required
 
-    /**
-     * The set of fields this struct contains, along with convenience methods for finding and manipulating them.
-     */
+    /** 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 table to check on
        */
-      TABLE((short) 1, "table"),
+      TABLE((short)1, "table"),
       /**
        * a list of TGets to check for
        */
-      TGETS((short) 2, "tgets");
+      TGETS((short)2, "tgets");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -4312,7 +4368,7 @@ public class THBaseService {
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
       public static _Fields findByThriftId(int fieldId) {
-        switch (fieldId) {
+        switch(fieldId) {
           case 1: // TABLE
             return TABLE;
           case 2: // TGETS
@@ -4358,14 +4414,13 @@ public class THBaseService {
 
     // 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.TABLE, new org.apache.thrift.meta_data.FieldMetaData("table", org.apache.thrift.TFieldRequirementType.REQUIRED,
-              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING, true)));
-      tmpMap.put(_Fields.TGETS, new org.apache.thrift.meta_data.FieldMetaData("tgets", org.apache.thrift.TFieldRequirementType.REQUIRED,
-              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, TGet.class))));
+      tmpMap.put(_Fields.TABLE, new org.apache.thrift.meta_data.FieldMetaData("table", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING          , true)));
+      tmpMap.put(_Fields.TGETS, new org.apache.thrift.meta_data.FieldMetaData("tgets", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          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, TGet.class))));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(existsAll_args.class, metaDataMap);
     }
@@ -4374,10 +4429,11 @@ public class THBaseService {
     }
 
     public existsAll_args(
-            ByteBuffer table,
-            List<TGet> tgets) {
+      ByteBuffer table,
+      List<TGet> tgets)
+    {
       this();
-      this.table = table;
+      this.table = org.apache.thrift.TBaseHelper.copyBinary(table);
       this.tgets = tgets;
     }
 
@@ -4387,10 +4443,9 @@ public class THBaseService {
     public existsAll_args(existsAll_args other) {
       if (other.isSetTable()) {
         this.table = org.apache.thrift.TBaseHelper.copyBinary(other.table);
-        ;
       }
       if (other.isSetTgets()) {
-        List<TGet> __this__tgets = new ArrayList<TGet>();
+        List<TGet> __this__tgets = new ArrayList<TGet>(other.tgets.size());
         for (TGet other_element : other.tgets) {
           __this__tgets.add(new TGet(other_element));
         }
@@ -4417,19 +4472,19 @@ public class THBaseService {
     }
 
     public ByteBuffer bufferForTable() {
-      return table;
+      return org.apache.thrift.TBaseHelper.copyBinary(table);
     }
 
     /**
      * the table to check on
      */
     public existsAll_args setTable(byte[] table) {
-      setTable(table == null ? (ByteBuffer) null : ByteBuffer.wrap(table));
+      this.table = table == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(table, table.length));
       return this;
     }
 
     public existsAll_args setTable(ByteBuffer table) {
-      this.table = table;
+      this.table = org.apache.thrift.TBaseHelper.copyBinary(table);
       return this;
     }
 
@@ -4437,9 +4492,7 @@ public class THBaseService {
       this.table = null;
     }
 
-    /**
-     * Returns true if field table is set (has been assigned a value) and false otherwise
-     */
+    /** Returns true if field table is set (has been assigned a value) and false otherwise */
     public boolean isSetTable() {
       return this.table != null;
     }
@@ -4484,9 +4537,7 @@ public class THBaseService {
       this.tgets = null;
     }
 
-    /**
-     * Returns true if field tgets is set (has been assigned a value) and false otherwise
-     */
+    /** Returns true if field tgets is set (has been assigned a value) and false otherwise */
     public boolean isSetTgets() {
       return this.tgets != null;
     }
@@ -4499,50 +4550,48 @@ public class THBaseService {
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
-        case TABLE:
-          if (value == null) {
-            unsetTable();
-          } else {
-            setTable((ByteBuffer) value);
-          }
-          break;
+      case TABLE:
+        if (value == null) {
+          unsetTable();
+        } else {
+          setTable((ByteBuffer)value);
+        }
+        break;
 
-        case TGETS:
-          if (value == null) {
-            unsetTgets();
-          } else {
-            setTgets((List<TGet>) value);
-          }
-          break;
+      case TGETS:
+        if (value == null) {
+          unsetTgets();
+        } else {
+          setTgets((List<TGet>)value);
+        }
+        break;
 
       }
     }
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
-        case TABLE:
-          return getTable();
+      case TABLE:
+        return getTable();
 
-        case TGETS:
-          return getTgets();
+      case TGETS:
+        return getTgets();
 
       }
       throw new IllegalStateException();
     }
 
-    /**
-     * Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise
-     */
+    /** 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:
-          return isSetTable();
-        case TGETS:
-          return isSetTgets();
+      case TABLE:
+        return isSetTable();
+      case TGETS:
+        return isSetTgets();
       }
       throw new IllegalStateException();
     }
@@ -4552,7 +4601,7 @@ public class THBaseService {
       if (that == null)
         return false;
       if (that instanceof existsAll_args)
-        return this.equals((existsAll_args) that);
+        return this.equals((existsAll_args)that);
       return false;
     }
 
@@ -4583,33 +4632,45 @@ public class THBaseService {
 
     @Override
     public int hashCode() {
-      return 0;
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_table = true && (isSetTable());
+      list.add(present_table);
+      if (present_table)
+        list.add(table);
+
+      boolean present_tgets = true && (isSetTgets());
+      list.add(present_tgets);
+      if (present_tgets)
+        list.add(tgets);
+
+      return list.hashCode();
     }
 
+    @Override
     public int compareTo(existsAll_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
-      existsAll_args typedOther = (existsAll_args) other;
 
-      lastComparison = Boolean.valueOf(isSetTable()).compareTo(typedOther.isSetTable());
+      lastComparison = Boolean.valueOf(isSetTable()).compareTo(other.isSetTable());
       if (lastComparison != 0) {
         return lastComparison;
       }
       if (isSetTable()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.table, typedOther.table);
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.table, other.table);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetTgets()).compareTo(typedOther.isSetTgets());
+      lastComparison = Boolean.valueOf(isSetTgets()).compareTo(other.isSetTgets());
       if (lastComparison != 0) {
         return lastComparison;
       }
       if (isSetTgets()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tgets, typedOther.tgets);
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tgets, other.tgets);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -4691,9 +4752,10 @@ public class THBaseService {
       public void read(org.apache.thrift.protocol.TProtocol iprot, existsAll_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
-        while (true) {
+        while (true)
+        {
           schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
             break;
           }
           switch (schemeField.id) {
@@ -4701,25 +4763,26 @@ public class THBaseService {
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                 struct.table = iprot.readBinary();
                 struct.setTableIsSet(true);
-              } else {
+              } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
             case 2: // TGETS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list132 = iprot.readListBegin();
-                  struct.tgets = new ArrayList<TGet>(_list132.size);
-                  for (int _i133 = 0; _i133 < _list132.size; ++_i133) {
-                    TGet _elem134; // required
-                    _elem134 = new TGet();
-                    _elem134.read(iprot);
-                    struct.tgets.add(_elem134);
+                  org.apache.thrift.protocol.TList _list142 = iprot.readListBegin();
+                  struct.tgets = new ArrayList<TGet>(_list142.size);
+                  TGet _elem143;
+                  for (int _i144 = 0; _i144 < _list142.size; ++_i144)
+                  {
+                    _elem143 = new TGet();
+                    _elem143.read(iprot);
+                    struct.tgets.add(_elem143);
                   }
                   iprot.readListEnd();
                 }
                 struct.setTgetsIsSet(true);
-              } else {
+              } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
@@ -4747,8 +4810,9 @@ public class THBaseService {
           oprot.writeFieldBegin(TGETS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tgets.size()));
-            for (TGet _iter135 : struct.tgets) {
-              _iter135.write(oprot);
+            for (TGet _iter145 : struct.tgets)
+            {
+              _iter145.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -4774,8 +4838,9 @@ public class THBaseService {
         oprot.writeBinary(struct.table);
         {
           oprot.writeI32(struct.tgets.size());
-          for (TGet _iter136 : struct.tgets) {
-            _iter136.write(oprot);
+          for (TGet _iter146 : struct.tgets)
+          {
+            _iter146.write(oprot);
           }
         }
       }
@@ -4786,13 +4851,14 @@ public class THBaseService {
         struct.table = iprot.readBinary();
         struct.setTableIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list137 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.tgets = new ArrayList<TGet>(_list137.size);
-          for (int _i138 = 0; _i138 < _list137.size; ++_i138) {
-            TGet _elem139; // required
-            _elem139 = new TGet();
-            _elem139.read(iprot);
-            struct.tgets.add(_elem139);
+          org.apache.thrift.protocol.TList _list147 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.tgets = new ArrayList<TGet>(_list147.size);
+          TGet _elem148;
+          for (int _i149 = 0; _i149 < _list147.size; ++_i149)
+          {
+            _elem148 = new TGet();
+            _elem148.read(iprot);
+            struct.tgets.add(_elem148);
           }
         }
         struct.setTgetsIsSet(true);
@@ -4801,14 +4867,13 @@ public class THBaseService {
 
   }
 
-  public static class existsAll_result implements org.apache.thrift.TBase<existsAll_result, existsAll_result._Fields>, java.io.Serializable, Cloneable {
+  public static class existsAll_result implements org.apache.thrift.TBase<existsAll_result, existsAll_result._Fields>, java.io.Serializable, Cloneable, Comparable<existsAll_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("existsAll_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short) 0);
-    private static final org.apache.thrift.protocol.TField IO_FIELD_DESC = new org.apache.thrift.protocol.TField("io", org.apache.thrift.protocol.TType.STRUCT, (short) 1);
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
+    private static final org.apache.thrift.protocol.TField IO_FIELD_DESC = new org.apache.thrift.protocol.TField("io", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-
     static {
       schemes.put(StandardScheme.class, new existsAll_resultStandardSchemeFactory());
       schemes.put(TupleScheme.class, new existsAll_resultTupleSchemeFactory());
@@ -4817,12 +4882,10 @@ public class THBaseService {
     public List<Boolean> success; // required
     public TIOError io; // required
 
-    /**
-     * The set of fields this struct contains, along with convenience methods for finding and manipulating them.
-     */
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short) 0, "success"),
-      IO((short) 1, "io");
+      SUCCESS((short)0, "success"),
+      IO((short)1, "io");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -4836,7 +4899,7 @@ public class THBaseService {
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
       public static _Fields findByThriftId(int fieldId) {
-        switch (fieldId) {
+        switch(fieldId) {
           case 0: // SUCCESS
             return SUCCESS;
           case 1: // IO
@@ -4882,14 +4945,13 @@ public class THBaseService {
 
     // 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.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT,
-              new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
-                      new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))));
-      tmpMap.put(_Fields.IO, new org.apache.thrift.meta_data.FieldMetaData("io", org.apache.thrift.TFieldRequirementType.DEFAULT,
-              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))));
+      tmpMap.put(_Fields.IO, new org.apache.thrift.meta_data.FieldMetaData("io", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(existsAll_result.class, metaDataMap);
     }
@@ -4898,8 +4960,9 @@ public class THBaseService {
     }
 
     public existsAll_result(
-            List<Boolean> success,
-            TIOError io) {
+      List<Boolean> success,
+      TIOError io)
+    {
       this();
       this.success = success;
       this.io = io;
@@ -4910,10 +4973,7 @@ public class THBaseService {
      */
     public existsAll_result(existsAll_result other) {
       if (other.isSetSuccess()) {
-        List<Boolean> __this__success = new ArrayList<Boolean>();
-        for (Boolean other_element : other.success) {
-          __this__success.add(other_element);
-        }
+        List<Boolean> __this__success = new ArrayList<Boolean>(other.success);
         this.success = __this__success;
       }
       if (other.isSetIo()) {
@@ -4959,9 +5019,7 @@ public class THBaseService {
       this.success = null;
     }
 
-    /**
-     * Returns true if field success is set (has been assigned a value) and false otherwise
-     */
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
     public boolean isSetSuccess() {
       return this.success != null;
     }
@@ -4985,9 +5043,7 @@ public class THBaseService {
       this.io = null;
     }
 
-    /**
-     * Returns true if field io is set (has been assigned a value) and false otherwise
-     */
+    /** Returns true if field io is set (has been assigned a value) and false otherwise */
     public boolean isSetIo() {
       return this.io != null;
     }
@@ -5000,50 +5056,48 @@ public class THBaseService {
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
-        case SUCCESS:
-          if (value == null) {
-            unsetSuccess();
-          } else {
-            setSuccess((List<Boolean>) value);
-          }
-          break;
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((List<Boolean>)value);
+        }
+        break;
 
-        case IO:
-          if (value == null) {
-            unsetIo();
-          } else {
-            setIo((TIOError) value);
-          }
-          break;
+      case IO:
+        if (value == null) {
+          unsetIo();
+        } else {
+          setIo((TIOError)value);
+        }
+        break;
 
       }
     }
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
-        case SUCCESS:
-          return getSuccess();
+      case SUCCESS:
+        return getSuccess();
 
-        case IO:
-          return getIo();
+      case IO:
+        return getIo();
 
       }
       throw new IllegalStateException();
     }
 
-    /**
-     * Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise
-     */
+    /** 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 SUCCESS:
-          return isSetSuccess();
-        case IO:
-          return isSetIo();
+      case SUCCESS:
+        return isSetSuccess();
+      case IO:
+        return isSetIo();
       }
       throw new IllegalStateException();
     }
@@ -5053,7 +5107,7 @@ public class THBaseService {
       if (that == null)
         return false;
       if (that instanceof existsAll_result)
-        return this.equals((existsAll_result) that);
+        return this.equals((existsAll_result)that);
       return false;
     }
 
@@ -5084,33 +5138,45 @@ public class THBaseService {
 
     @Override
     public int hashCode() {
-      return 0;
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_success = true && (isSetSuccess());
+      list.add(present_success);
+      if (present_success)
+        list.add(success);
+
+      boolean present_io = true && (isSetIo());
+      list.add(present_io);
+      if (present_io)
+        list.add(io);
+
+      return list.hashCode();
     }
 
+    @Override
     public int compareTo(existsAll_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
-      existsAll_result typedOther = (existsAll_result) other;
 
-      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
+      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
       if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetIo()).compareTo(typedOther.isSetIo());
+      lastComparison = Boolean.valueOf(isSetIo()).compareTo(other.isSetIo());
       if (lastComparison != 0) {
         return lastComparison;
       }
       if (isSetIo()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.io, typedOther.io);
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.io, other.io);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -5128,7 +5194,7 @@ public class THBaseService {
 
     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() {
@@ -5186,26 +5252,28 @@ public class THBaseService {
       public void read(org.apache.thrift.protocol.TProtocol iprot, existsAll_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
-        while (true) {
+        while (true)
+        {
           schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
             break;
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list140 = iprot.readListBegin();
-                  struct.success = new ArrayList<Boolean>(_list140.size);
-                  for (int _i141 = 0; _i141 < _list140.size; ++_i141) {
-                    boolean _elem142; // required
-                    _elem142 = iprot.readBool();
-                    struct.success.add(_elem142);
+                  org.apache.thrift.protocol.TList _list150 = iprot.readListBegin();
+                  struct.success = new ArrayList<Boolean>(_list150.size);
+                  boolean _elem151;
+                  for (int _i152 = 0; _i152 < _list150.size; ++_i152)
+                  {
+                    _elem151 = iprot.readBool();
+                    struct.success.add(_elem151);
                   }
                   iprot.readListEnd();
                 }
                 struct.setSuccessIsSet(true);
-              } else {
+              } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
@@ -5214,7 +5282,7 @@ public class THBaseService {
                 struct.io = new TIOError();
                 struct.io.read(iprot);
                 struct.setIoIsSet(true);
-              } else {
+              } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
@@ -5237,8 +5305,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.BOOL, struct.success.size()));
-            for (boolean _iter143 : struct.success) {
-              oprot.writeBool(_iter143);
+            for (boolean _iter153 : struct.success)
+            {
+              oprot.writeBool(_iter153);
             }
             oprot.writeListEnd();
           }
@@ -5277,8 +5346,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (boolean _iter144 : struct.success) {
-              oprot.writeBool(_iter144);
+            for (boolean _iter154 : struct.success)
+            {
+              oprot.writeBool(_iter154);
             }
           }
         }
@@ -5293,12 +5363,13 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list145 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.BOOL, iprot.readI32());
-            struct.success = new ArrayList<Boolean>(_list145.size);
-            for (int _i146 = 0; _i146 < _list145.size; ++_i146) {
-              boolean _elem147; // required
-              _elem147 = iprot.readBool();
-              struct.success.add(_elem147);
+            org.apache.thrift.protocol.TList _list155 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.BOOL, iprot.readI32());
+            struct.success = new ArrayList<Boolean>(_list155.size);
+            boolean _elem156;
+            for (int _i157 = 0; _i157 < _list155.size; ++_i157)
+            {
+              _elem156 = iprot.readBool();
+              struct.success.add(_elem156);
             }
           }
           struct.setSuccessIsSet(true);
@@ -6734,14 +6805,14 @@ public class THBaseService {
             case 2: // TGETS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list132 = iprot.readListBegin();
-                  struct.tgets = new ArrayList<TGet>(_list132.size);
-                  TGet _elem133;
-                  for (int _i134 = 0; _i134 < _list132.size; ++_i134)
+                  org.apache.thrift.protocol.TList _list158 = iprot.readListBegin();
+                  struct.tgets = new ArrayList<TGet>(_list158.size);
+                  TGet _elem159;
+                  for (int _i160 = 0; _i160 < _list158.size; ++_i160)
                   {
-                    _elem133 = new TGet();
-                    _elem133.read(iprot);
-                    struct.tgets.add(_elem133);
+                    _elem159 = new TGet();
+                    _elem159.read(iprot);
+                    struct.tgets.add(_elem159);
                   }
                   iprot.readListEnd();
                 }
@@ -6774,9 +6845,9 @@ public class THBaseService {
           oprot.writeFieldBegin(TGETS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tgets.size()));
-            for (TGet _iter135 : struct.tgets)
+            for (TGet _iter161 : struct.tgets)
             {
-              _iter135.write(oprot);
+              _iter161.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -6802,9 +6873,9 @@ public class THBaseService {
         oprot.writeBinary(struct.table);
         {
           oprot.writeI32(struct.tgets.size());
-          for (TGet _iter136 : struct.tgets)
+          for (TGet _iter162 : struct.tgets)
           {
-            _iter136.write(oprot);
+            _iter162.write(oprot);
           }
         }
       }
@@ -6815,14 +6886,14 @@ public class THBaseService {
         struct.table = iprot.readBinary();
         struct.setTableIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list137 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.tgets = new ArrayList<TGet>(_list137.size);
-          TGet _elem138;
-          for (int _i139 = 0; _i139 < _list137.size; ++_i139)
+          org.apache.thrift.protocol.TList _list163 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.tgets = new ArrayList<TGet>(_list163.size);
+          TGet _elem164;
+          for (int _i165 = 0; _i165 < _list163.size; ++_i165)
           {
-            _elem138 = new TGet();
-            _elem138.read(iprot);
-            struct.tgets.add(_elem138);
+            _elem164 = new TGet();
+            _elem164.read(iprot);
+            struct.tgets.add(_elem164);
           }
         }
         struct.setTgetsIsSet(true);
@@ -7229,14 +7300,14 @@ public class THBaseService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list140 = iprot.readListBegin();
-                  struct.success = new ArrayList<TResult>(_list140.size);
-                  TResult _elem141;
-                  for (int _i142 = 0; _i142 < _list140.size; ++_i142)
+                  org.apache.thrift.protocol.TList _list166 = iprot.readListBegin();
+                  struct.success = new ArrayList<TResult>(_list166.size);
+                  TResult _elem167;
+                  for (int _i168 = 0; _i168 < _list166.size; ++_i168)
                   {
-                    _elem141 = new TResult();
-                    _elem141.read(iprot);
-                    struct.success.add(_elem141);
+                    _elem167 = new TResult();
+                    _elem167.read(iprot);
+                    struct.success.add(_elem167);
                   }
                   iprot.readListEnd();
                 }
@@ -7273,9 +7344,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (TResult _iter143 : struct.success)
+            for (TResult _iter169 : struct.success)
             {
-              _iter143.write(oprot);
+              _iter169.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -7314,9 +7385,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (TResult _iter144 : struct.success)
+            for (TResult _iter170 : struct.success)
             {
-              _iter144.write(oprot);
+              _iter170.write(oprot);
             }
           }
         }
@@ -7331,14 +7402,14 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list145 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<TResult>(_list145.size);
-            TResult _elem146;
-            for (int _i147 = 0; _i147 < _list145.size; ++_i147)
+            org.apache.thrift.protocol.TList _list171 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<TResult>(_list171.size);
+            TResult _elem172;
+            for (int _i173 = 0; _i173 < _list171.size; ++_i173)
             {
-              _elem146 = new TResult();
-              _elem146.read(iprot);
-              struct.success.add(_elem146);
+              _elem172 = new TResult();
+              _elem172.read(iprot);
+              struct.success.add(_elem172);
             }
           }
           struct.setSuccessIsSet(true);
@@ -10125,14 +10196,14 @@ public class THBaseService {
             case 2: // TPUTS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list148 = iprot.readListBegin();
-                  struct.tputs = new ArrayList<TPut>(_list148.size);
-                  TPut _elem149;
-                  for (int _i150 = 0; _i150 < _list148.size; ++_i150)
+                  org.apache.thrift.protocol.TList _list174 = iprot.readListBegin();
+                  struct.tputs = new ArrayList<TPut>(_list174.size);
+                  TPut _elem175;
+                  for (int _i176 = 0; _i176 < _list174.size; ++_i176)
                   {
-                    _elem149 = new TPut();
-                    _elem149.read(iprot);
-                    struct.tputs.add(_elem149);
+                    _elem175 = new TPut();
+                    _elem175.read(iprot);
+                    struct.tputs.add(_elem175);
                   }
                   iprot.readListEnd();
                 }
@@ -10165,9 +10236,9 @@ public class THBaseService {
           oprot.writeFieldBegin(TPUTS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tputs.size()));
-            for (TPut _iter151 : struct.tputs)
+            for (TPut _iter177 : struct.tputs)
             {
-              _iter151.write(oprot);
+              _iter177.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -10193,9 +10264,9 @@ public class THBaseService {
         oprot.writeBinary(struct.table);
         {
           oprot.writeI32(struct.tputs.size());
-          for (TPut _iter152 : struct.tputs)
+          for (TPut _iter178 : struct.tputs)
           {
-            _iter152.write(oprot);
+            _iter178.write(oprot);
           }
         }
       }
@@ -10206,14 +10277,14 @@ public class THBaseService {
         struct.table = iprot.readBinary();
         struct.setTableIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list153 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.tputs = new ArrayList<TPut>(_list153.size);
-          TPut _elem154;
-          for (int _i155 = 0; _i155 < _list153.size; ++_i155)
+          org.apache.thrift.protocol.TList _list179 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.tputs = new ArrayList<TPut>(_list179.size);
+          TPut _elem180;
+          for (int _i181 = 0; _i181 < _list179.size; ++_i181)
           {
-            _elem154 = new TPut();
-            _elem154.read(iprot);
-            struct.tputs.add(_elem154);
+            _elem180 = new TPut();
+            _elem180.read(iprot);
+            struct.tputs.add(_elem180);
           }
         }
         struct.setTputsIsSet(true);
@@ -11888,14 +11959,14 @@ public class THBaseService {
             case 2: // TDELETES
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list156 = iprot.readListBegin();
-                  struct.tdeletes = new ArrayList<TDelete>(_list156.size);
-                  TDelete _elem157;
-                  for (int _i158 = 0; _i158 < _list156.size; ++_i158)
+                  org.apache.thrift.protocol.TList _list182 = iprot.readListBegin();
+                  struct.tdeletes = new ArrayList<TDelete>(_list182.size);
+                  TDelete _elem183;
+                  for (int _i184 = 0; _i184 < _list182.size; ++_i184)
                   {
-                    _elem157 = new TDelete();
-                    _elem157.read(iprot);
-                    struct.tdeletes.add(_elem157);
+                    _elem183 = new TDelete();
+                    _elem183.read(iprot);
+                    struct.tdeletes.add(_elem183);
                   }
                   iprot.readListEnd();
                 }
@@ -11928,9 +11999,9 @@ public class THBaseService {
           oprot.writeFieldBegin(TDELETES_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tdeletes.size()));
-            for (TDelete _iter159 : struct.tdeletes)
+            for (TDelete _iter185 : struct.tdeletes)
             {
-              _iter159.write(oprot);
+              _iter185.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -11956,9 +12027,9 @@ public class THBaseService {
         oprot.writeBinary(struct.table);
         {
           oprot.writeI32(struct.tdeletes.size());
-          for (TDelete _iter160 : struct.tdeletes)
+          for (TDelete _iter186 : struct.tdeletes)
           {
-            _iter160.write(oprot);
+            _iter186.write(oprot);
           }
         }
       }
@@ -11969,14 +12040,14 @@ public class THBaseService {
         struct.table = iprot.readBinary();
         struct.setTableIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list161 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.tdeletes = new ArrayList<TDelete>(_list161.size);
-          TDelete _elem162;
-          for (int _i163 = 0; _i163 < _list161.size; ++_i163)
+          org.apache.thrift.protocol.TList _list187 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.tdeletes = new ArrayList<TDelete>(_list187.size);
+          TDelete _elem188;
+          for (int _i189 = 0; _i189 < _list187.size; ++_i189)
           {
-            _elem162 = new TDelete();
-            _elem162.read(iprot);
-            struct.tdeletes.add(_elem162);
+            _elem188 = new TDelete();
+            _elem188.read(iprot);
+            struct.tdeletes.add(_elem188);
           }
         }
         struct.setTdeletesIsSet(true);
@@ -12383,14 +12454,14 @@ public class THBaseService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list164 = iprot.readListBegin();
-                  struct.success = new ArrayList<TDelete>(_list164.size);
-                  TDelete _elem165;
-                  for (int _i166 = 0; _i166 < _list164.size; ++_i166)
+                  org.apache.thrift.protocol.TList _list190 = iprot.readListBegin();
+                  struct.success = new ArrayList<TDelete>(_list190.size);
+                  TDelete _elem191;
+                  for (int _i192 = 0; _i192 < _list190.size; ++_i192)
                   {
-                    _elem165 = new TDelete();
-                    _elem165.read(iprot);
-                    struct.success.add(_elem165);
+                    _elem191 = new TDelete();
+                    _elem191.read(iprot);
+                    struct.success.add(_elem191);
                   }
                   iprot.readListEnd();
                 }
@@ -12427,9 +12498,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (TDelete _iter167 : struct.success)
+            for (TDelete _iter193 : struct.success)
             {
-              _iter167.write(oprot);
+              _iter193.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -12468,9 +12539,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (TDelete _iter168 : struct.success)
+            for (TDelete _iter194 : struct.success)
             {
-              _iter168.write(oprot);
+              _iter194.write(oprot);
             }
           }
         }
@@ -12485,14 +12556,14 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list169 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<TDelete>(_list169.size);
-            TDelete _elem170;
-            for (int _i171 = 0; _i171 < _list169.size; ++_i171)
+            org.apache.thrift.protocol.TList _list195 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<TDelete>(_list195.size);
+            TDelete _elem196;
+            for (int _i197 = 0; _i197 < _list195.size; ++_i197)
             {
-              _elem170 = new TDelete();
-              _elem170.read(iprot);
-              struct.success.add(_elem170);
+              _elem196 = new TDelete();
+              _elem196.read(iprot);
+              struct.success.add(_elem196);
             }
           }
           struct.setSuccessIsSet(true);
@@ -17845,14 +17916,14 @@ public class THBaseService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list172 = iprot.readListBegin();
-                  struct.success = new ArrayList<TResult>(_list172.size);
-                  TResult _elem173;
-                  for (int _i174 = 0; _i174 < _list172.size; ++_i174)
+                  org.apache.thrift.protocol.TList _list198 = iprot.readListBegin();
+                  struct.success = new ArrayList<TResult>(_list198.size);
+                  TResult _elem199;
+                  for (int _i200 = 0; _i200 < _list198.size; ++_i200)
                   {
-                    _elem173 = new TResult();
-                    _elem173.read(iprot);
-                    struct.success.add(_elem173);
+                    _elem199 = new TResult();
+                    _elem199.read(iprot);
+                    struct.success.add(_elem199);
                   }
                   iprot.readListEnd();
                 }
@@ -17898,9 +17969,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (TResult _iter175 : struct.success)
+            for (TResult _iter201 : struct.success)
             {
-              _iter175.write(oprot);
+              _iter201.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -17947,9 +18018,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (TResult _iter176 : struct.success)
+            for (TResult _iter202 : struct.success)
             {
-              _iter176.write(oprot);
+              _iter202.write(oprot);
             }
           }
         }
@@ -17967,14 +18038,14 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list177 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<TResult>(_list177.size);
-            TResult _elem178;
-            for (int _i179 = 0; _i179 < _list177.size; ++_i179)
+            org.apache.thrift.protocol.TList _list203 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<TResult>(_list203.size);
+            TResult _elem204;
+            for (int _i205 = 0; _i205 < _list203.size; ++_i205)
             {
-              _elem178 = new TResult();
-              _elem178.read(iprot);
-              struct.success.add(_elem178);
+              _elem204 = new TResult();
+              _elem204.read(iprot);
+              struct.success.add(_elem204);
             }
           }
           struct.setSuccessIsSet(true);
@@ -20710,14 +20781,14 @@ public class THBaseService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list180 = iprot.readListBegin();
-                  struct.success = new ArrayList<TResult>(_list180.size);
-                  TResult _elem181;
-                  for (int _i182 = 0; _i182 < _list180.size; ++_i182)
+                  org.apache.thrift.protocol.TList _list206 = iprot.readListBegin();
+                  struct.success = new ArrayList<TResult>(_list206.size);
+                  TResult _elem207;
+                  for (int _i208 = 0; _i208 < _list206.size; ++_i208)
                   {
-                    _elem181 = new TResult();
-                    _elem181.read(iprot);
-                    struct.success.add(_elem181);
+                    _elem207 = new TResult();
+                    _elem207.read(iprot);
+                    struct.success.add(_elem207);
                   }
                   iprot.readListEnd();
                 }
@@ -20754,9 +20825,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (TResult _iter183 : struct.success)
+            for (TResult _iter209 : struct.success)
             {
-              _iter183.write(oprot);
+              _iter209.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -20795,9 +20866,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (TResult _iter184 : struct.success)
+            for (TResult _iter210 : struct.success)
             {
-              _iter184.write(oprot);
+              _iter210.write(oprot);
             }
           }
         }
@@ -20812,14 +20883,14 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list185 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<TResult>(_list185.size);
-            TResult _elem186;
-            for (int _i187 = 0; _i187 < _list185.size; ++_i187)
+            org.apache.thrift.protocol.TList _list211 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<TResult>(_list211.size);
+            TResult _elem212;
+            for (int _i213 = 0; _i213 < _list211.size; ++_i213)
             {
-              _elem186 = new TResult();
-              _elem186.read(iprot);
-              struct.success.add(_elem186);
+              _elem212 = new TResult();
+              _elem212.read(iprot);
+              struct.success.add(_elem212);
             }
           }
           struct.setSuccessIsSet(true);
@@ -22650,14 +22721,14 @@ public class THBaseService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list188 = iprot.readListBegin();
-                  struct.success = new ArrayList<THRegionLocation>(_list188.size);
-                  THRegionLocation _elem189;
-                  for (int _i190 = 0; _i190 < _list188.size; ++_i190)
+                  org.apache.thrift.protocol.TList _list214 = iprot.readListBegin();
+                  struct.success = new ArrayList<THRegionLocation>(_list214.size);
+                  THRegionLocation _elem215;
+                  for (int _i216 = 0; _i216 < _list214.size; ++_i216)
                   {
-                    _elem189 = new THRegionLocation();
-                    _elem189.read(iprot);
-                    struct.success.add(_elem189);
+                    _elem215 = new THRegionLocation();
+                    _elem215.read(iprot);
+                    struct.success.add(_elem215);
                   }
                   iprot.readListEnd();
                 }
@@ -22694,9 +22765,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (THRegionLocation _iter191 : struct.success)
+            for (THRegionLocation _iter217 : struct.success)
             {
-              _iter191.write(oprot);
+              _iter217.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -22735,9 +22806,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (THRegionLocation _iter192 : struct.success)
+            for (THRegionLocation _iter218 : struct.success)
             {
-              _iter192.write(oprot);
+              _iter218.write(oprot);
             }
           }
         }
@@ -22752,14 +22823,14 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list193 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<THRegionLocation>(_list193.size);
-            THRegionLocation _elem194;
-            for (int _i195 = 0; _i195 < _list193.size; ++_i195)
+            org.apache.thrift.protocol.TList _list219 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<THRegionLocation>(_list219.size);
+            THRegionLocation _elem220;
+            for (int _i221 = 0; _i221 < _list219.size; ++_i221)
             {
-              _elem194 = new THRegionLocation();
-              _elem194.read(iprot);
-              struct.success.add(_elem194);
+              _elem220 = new THRegionLocation();
+              _elem220.read(iprot);
+              struct.success.add(_elem220);
             }
           }
           struct.setSuccessIsSet(true);


[2/6] hbase git commit: HBASE-20845 Support set the consistency for Gets and Scans in thrift2

Posted by ap...@apache.org.
HBASE-20845 Support set the consistency for Gets and Scans in thrift2

Signed-off-by: Andrew Purtell <ap...@apache.org>


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

Branch: refs/heads/master
Commit: b9413839ab6971eadddb1f5b2a4ad91d7815251e
Parents: 4329330
Author: Guangxu Cheng <gu...@gmail.com>
Authored: Thu Jul 5 10:49:01 2018 +0800
Committer: Andrew Purtell <ap...@apache.org>
Committed: Tue Aug 7 13:34:17 2018 -0700

----------------------------------------------------------------------
 .../hadoop/hbase/thrift2/ThriftUtilities.java   |  28 +
 .../hbase/thrift2/generated/TConsistency.java   |  50 ++
 .../hadoop/hbase/thrift2/generated/TGet.java    | 233 +++++-
 .../hbase/thrift2/generated/THBaseService.java  | 703 ++++++++++---------
 .../hadoop/hbase/thrift2/generated/TResult.java | 116 ++-
 .../hadoop/hbase/thrift2/generated/TScan.java   | 233 +++++-
 .../apache/hadoop/hbase/thrift2/hbase.thrift    |  18 +-
 .../thrift2/TestThriftHBaseServiceHandler.java  |  33 +
 8 files changed, 1082 insertions(+), 332 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/b9413839/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 9b13909..9b42bce 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
@@ -37,6 +37,7 @@ import org.apache.hadoop.hbase.HRegionLocation;
 import org.apache.hadoop.hbase.PrivateCellUtil;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.client.Append;
+import org.apache.hadoop.hbase.client.Consistency;
 import org.apache.hadoop.hbase.client.Delete;
 import org.apache.hadoop.hbase.client.Durability;
 import org.apache.hadoop.hbase.client.Get;
@@ -55,6 +56,7 @@ import org.apache.hadoop.hbase.thrift2.generated.TColumn;
 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.TDelete;
 import org.apache.hadoop.hbase.thrift2.generated.TDurability;
 import org.apache.hadoop.hbase.thrift2.generated.TGet;
@@ -119,6 +121,14 @@ public final class ThriftUtilities {
       out.setAuthorizations(new Authorizations(in.getAuthorizations().getLabels()));
     }
 
+    if (in.isSetConsistency()) {
+      out.setConsistency(consistencyFromThrift(in.getConsistency()));
+    }
+
+    if (in.isSetTargetReplicaId()) {
+      out.setReplicaId(in.getTargetReplicaId());
+    }
+
     if (!in.isSetColumns()) {
       return out;
     }
@@ -179,6 +189,8 @@ public final class ThriftUtilities {
       columnValues.add(col);
     }
     out.setColumnValues(columnValues);
+
+    out.setStale(in.isStale());
     return out;
   }
 
@@ -491,6 +503,14 @@ public final class ThriftUtilities {
       out.setLimit(in.getLimit());
     }
 
+    if (in.isSetConsistency()) {
+      out.setConsistency(consistencyFromThrift(in.getConsistency()));
+    }
+
+    if (in.isSetTargetReplicaId()) {
+      out.setReplicaId(in.getTargetReplicaId());
+    }
+
     return out;
   }
 
@@ -615,4 +635,12 @@ public final class ThriftUtilities {
       default: return null;
     }
   }
+
+  private static Consistency consistencyFromThrift(TConsistency tConsistency) {
+    switch (tConsistency.getValue()) {
+      case 1: return Consistency.STRONG;
+      case 2: return Consistency.TIMELINE;
+      default: return Consistency.STRONG;
+    }
+  }
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/b9413839/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TConsistency.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TConsistency.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TConsistency.java
new file mode 100644
index 0000000..b473d02
--- /dev/null
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TConsistency.java
@@ -0,0 +1,50 @@
+/**
+ * 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;
+
+/**
+ * Specify Consistency:
+ *  - STRONG means reads only from primary region
+ *  - TIMELINE means reads might return values from secondary region replicas
+ */
+public enum TConsistency implements org.apache.thrift.TEnum {
+  STRONG(1),
+  TIMELINE(2);
+
+  private final int value;
+
+  private TConsistency(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 TConsistency findByValue(int value) { 
+    switch (value) {
+      case 1:
+        return STRONG;
+      case 2:
+        return TIMELINE;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/hbase/blob/b9413839/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 a493bd9..cfb1d6c 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 = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-07-03")
 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");
 
@@ -59,6 +59,8 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
   private static final org.apache.thrift.protocol.TField FILTER_STRING_FIELD_DESC = new org.apache.thrift.protocol.TField("filterString", org.apache.thrift.protocol.TType.STRING, (short)6);
   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)7);
   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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -74,6 +76,12 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
   public ByteBuffer filterString; // optional
   public Map<ByteBuffer,ByteBuffer> attributes; // optional
   public TAuthorization authorizations; // optional
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TConsistency consistency; // optional
+  public int targetReplicaId; // 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 {
@@ -84,7 +92,13 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     MAX_VERSIONS((short)5, "maxVersions"),
     FILTER_STRING((short)6, "filterString"),
     ATTRIBUTES((short)7, "attributes"),
-    AUTHORIZATIONS((short)8, "authorizations");
+    AUTHORIZATIONS((short)8, "authorizations"),
+    /**
+     * 
+     * @see TConsistency
+     */
+    CONSISTENCY((short)9, "consistency"),
+    TARGET_REPLICA_ID((short)10, "targetReplicaId");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -115,6 +129,10 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
           return ATTRIBUTES;
         case 8: // AUTHORIZATIONS
           return AUTHORIZATIONS;
+        case 9: // CONSISTENCY
+          return CONSISTENCY;
+        case 10: // TARGET_REPLICA_ID
+          return TARGET_REPLICA_ID;
         default:
           return null;
       }
@@ -157,8 +175,9 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
   // isset id assignments
   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 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};
+  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};
   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);
@@ -181,6 +200,10 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING            , true))));
     tmpMap.put(_Fields.AUTHORIZATIONS, new org.apache.thrift.meta_data.FieldMetaData("authorizations", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TAuthorization.class)));
+    tmpMap.put(_Fields.CONSISTENCY, new org.apache.thrift.meta_data.FieldMetaData("consistency", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        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)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TGet.class, metaDataMap);
   }
@@ -225,6 +248,10 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     if (other.isSetAuthorizations()) {
       this.authorizations = new TAuthorization(other.authorizations);
     }
+    if (other.isSetConsistency()) {
+      this.consistency = other.consistency;
+    }
+    this.targetReplicaId = other.targetReplicaId;
   }
 
   public TGet deepCopy() {
@@ -243,6 +270,9 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     this.filterString = null;
     this.attributes = null;
     this.authorizations = null;
+    this.consistency = null;
+    setTargetReplicaIdIsSet(false);
+    this.targetReplicaId = 0;
   }
 
   public byte[] getRow() {
@@ -481,6 +511,61 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     }
   }
 
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TConsistency getConsistency() {
+    return this.consistency;
+  }
+
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TGet setConsistency(TConsistency consistency) {
+    this.consistency = consistency;
+    return this;
+  }
+
+  public void unsetConsistency() {
+    this.consistency = null;
+  }
+
+  /** Returns true if field consistency is set (has been assigned a value) and false otherwise */
+  public boolean isSetConsistency() {
+    return this.consistency != null;
+  }
+
+  public void setConsistencyIsSet(boolean value) {
+    if (!value) {
+      this.consistency = null;
+    }
+  }
+
+  public int getTargetReplicaId() {
+    return this.targetReplicaId;
+  }
+
+  public TGet setTargetReplicaId(int targetReplicaId) {
+    this.targetReplicaId = targetReplicaId;
+    setTargetReplicaIdIsSet(true);
+    return this;
+  }
+
+  public void unsetTargetReplicaId() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID);
+  }
+
+  /** Returns true if field targetReplicaId is set (has been assigned a value) and false otherwise */
+  public boolean isSetTargetReplicaId() {
+    return EncodingUtils.testBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID);
+  }
+
+  public void setTargetReplicaIdIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case ROW:
@@ -547,6 +632,22 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       }
       break;
 
+    case CONSISTENCY:
+      if (value == null) {
+        unsetConsistency();
+      } else {
+        setConsistency((TConsistency)value);
+      }
+      break;
+
+    case TARGET_REPLICA_ID:
+      if (value == null) {
+        unsetTargetReplicaId();
+      } else {
+        setTargetReplicaId((Integer)value);
+      }
+      break;
+
     }
   }
 
@@ -576,6 +677,12 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     case AUTHORIZATIONS:
       return getAuthorizations();
 
+    case CONSISTENCY:
+      return getConsistency();
+
+    case TARGET_REPLICA_ID:
+      return getTargetReplicaId();
+
     }
     throw new IllegalStateException();
   }
@@ -603,6 +710,10 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       return isSetAttributes();
     case AUTHORIZATIONS:
       return isSetAuthorizations();
+    case CONSISTENCY:
+      return isSetConsistency();
+    case TARGET_REPLICA_ID:
+      return isSetTargetReplicaId();
     }
     throw new IllegalStateException();
   }
@@ -692,6 +803,24 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
         return false;
     }
 
+    boolean this_present_consistency = true && this.isSetConsistency();
+    boolean that_present_consistency = true && that.isSetConsistency();
+    if (this_present_consistency || that_present_consistency) {
+      if (!(this_present_consistency && that_present_consistency))
+        return false;
+      if (!this.consistency.equals(that.consistency))
+        return false;
+    }
+
+    boolean this_present_targetReplicaId = true && this.isSetTargetReplicaId();
+    boolean that_present_targetReplicaId = true && that.isSetTargetReplicaId();
+    if (this_present_targetReplicaId || that_present_targetReplicaId) {
+      if (!(this_present_targetReplicaId && that_present_targetReplicaId))
+        return false;
+      if (this.targetReplicaId != that.targetReplicaId)
+        return false;
+    }
+
     return true;
   }
 
@@ -739,6 +868,16 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     if (present_authorizations)
       list.add(authorizations);
 
+    boolean present_consistency = true && (isSetConsistency());
+    list.add(present_consistency);
+    if (present_consistency)
+      list.add(consistency.getValue());
+
+    boolean present_targetReplicaId = true && (isSetTargetReplicaId());
+    list.add(present_targetReplicaId);
+    if (present_targetReplicaId)
+      list.add(targetReplicaId);
+
     return list.hashCode();
   }
 
@@ -830,6 +969,26 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetConsistency()).compareTo(other.isSetConsistency());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetConsistency()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.consistency, other.consistency);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTargetReplicaId()).compareTo(other.isSetTargetReplicaId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTargetReplicaId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.targetReplicaId, other.targetReplicaId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -919,6 +1078,22 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       }
       first = false;
     }
+    if (isSetConsistency()) {
+      if (!first) sb.append(", ");
+      sb.append("consistency:");
+      if (this.consistency == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.consistency);
+      }
+      first = false;
+    }
+    if (isSetTargetReplicaId()) {
+      if (!first) sb.append(", ");
+      sb.append("targetReplicaId:");
+      sb.append(this.targetReplicaId);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1062,6 +1237,22 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 9: // CONSISTENCY
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.consistency = org.apache.hadoop.hbase.thrift2.generated.TConsistency.findByValue(iprot.readI32());
+              struct.setConsistencyIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // TARGET_REPLICA_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.targetReplicaId = iprot.readI32();
+              struct.setTargetReplicaIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1142,6 +1333,18 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
           oprot.writeFieldEnd();
         }
       }
+      if (struct.consistency != null) {
+        if (struct.isSetConsistency()) {
+          oprot.writeFieldBegin(CONSISTENCY_FIELD_DESC);
+          oprot.writeI32(struct.consistency.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetTargetReplicaId()) {
+        oprot.writeFieldBegin(TARGET_REPLICA_ID_FIELD_DESC);
+        oprot.writeI32(struct.targetReplicaId);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1182,7 +1385,13 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       if (struct.isSetAuthorizations()) {
         optionals.set(6);
       }
-      oprot.writeBitSet(optionals, 7);
+      if (struct.isSetConsistency()) {
+        optionals.set(7);
+      }
+      if (struct.isSetTargetReplicaId()) {
+        optionals.set(8);
+      }
+      oprot.writeBitSet(optionals, 9);
       if (struct.isSetColumns()) {
         {
           oprot.writeI32(struct.columns.size());
@@ -1217,6 +1426,12 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       if (struct.isSetAuthorizations()) {
         struct.authorizations.write(oprot);
       }
+      if (struct.isSetConsistency()) {
+        oprot.writeI32(struct.consistency.getValue());
+      }
+      if (struct.isSetTargetReplicaId()) {
+        oprot.writeI32(struct.targetReplicaId);
+      }
     }
 
     @Override
@@ -1224,7 +1439,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(7);
+      BitSet incoming = iprot.readBitSet(9);
       if (incoming.get(0)) {
         {
           org.apache.thrift.protocol.TList _list27 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
@@ -1276,6 +1491,14 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
         struct.authorizations.read(iprot);
         struct.setAuthorizationsIsSet(true);
       }
+      if (incoming.get(7)) {
+        struct.consistency = org.apache.hadoop.hbase.thrift2.generated.TConsistency.findByValue(iprot.readI32());
+        struct.setConsistencyIsSet(true);
+      }
+      if (incoming.get(8)) {
+        struct.targetReplicaId = iprot.readI32();
+        struct.setTargetReplicaIdIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/b9413839/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 ae7c9d6..e8f36a0 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 = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-07-04")
 public class THBaseService {
 
   public interface Iface {
@@ -52,12 +52,12 @@ public class THBaseService {
 
     /**
      * Test for the existence of columns in the table, as specified by the TGets.
-     *
+     * 
      * This will return an array of booleans. Each value will be true if the related Get matches
      * one or more keys, false if not.
-     *
+     * 
      * @param table the table to check on
-     *
+     * 
      * @param tgets a list of TGets to check for
      */
     public List<Boolean> existsAll(ByteBuffer table, List<TGet> tgets) throws TIOError, org.apache.thrift.TException;
@@ -288,7 +288,7 @@ public class THBaseService {
 
     public void exists(ByteBuffer table, TGet tget, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void existsAll(ByteBuffer table, List<TGet> tgets, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.existsAll_call> resultHandler) throws org.apache.thrift.TException;
+    public void existsAll(ByteBuffer table, List<TGet> tgets, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void get(ByteBuffer table, TGet tget, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -945,7 +945,7 @@ public class THBaseService {
       }
     }
 
-    public void existsAll(ByteBuffer table, List<TGet> tgets, org.apache.thrift.async.AsyncMethodCallback<existsAll_call> resultHandler) throws org.apache.thrift.TException {
+    public void existsAll(ByteBuffer table, List<TGet> tgets, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       existsAll_call method_call = new existsAll_call(table, tgets, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
@@ -955,7 +955,7 @@ public class THBaseService {
     public static class existsAll_call extends org.apache.thrift.async.TAsyncMethodCall {
       private ByteBuffer table;
       private List<TGet> tgets;
-      public existsAll_call(ByteBuffer table, List<TGet> tgets, org.apache.thrift.async.AsyncMethodCallback<existsAll_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public existsAll_call(ByteBuffer table, List<TGet> tgets, 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;
         this.tgets = tgets;
@@ -1733,6 +1733,7 @@ public class THBaseService {
         return result;
       }
     }
+
     public static class get<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_args> {
       public get() {
         super("get");
@@ -2187,6 +2188,7 @@ public class THBaseService {
 
     private static <I extends AsyncIface> Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(Map<String,  org.apache.thrift.AsyncProcessFunction<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());
@@ -2266,6 +2268,63 @@ public class THBaseService {
       }
     }
 
+    public static class existsAll<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, existsAll_args, List<Boolean>> {
+      public existsAll() {
+        super("existsAll");
+      }
+
+      public existsAll_args getEmptyArgsInstance() {
+        return new existsAll_args();
+      }
+
+      public AsyncMethodCallback<List<Boolean>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<List<Boolean>>() { 
+          public void onComplete(List<Boolean> o) {
+            existsAll_result result = new existsAll_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            existsAll_result result = new existsAll_result();
+            if (e instanceof TIOError) {
+                        result.io = (TIOError) e;
+                        result.setIoIsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, existsAll_args args, org.apache.thrift.async.AsyncMethodCallback<List<Boolean>> resultHandler) throws TException {
+        iface.existsAll(args.table, args.tgets,resultHandler);
+      }
+    }
+
     public static class get<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_args, TResult> {
       public get() {
         super("get");
@@ -4265,14 +4324,13 @@ public class THBaseService {
 
   }
 
-  public static class existsAll_args implements org.apache.thrift.TBase<existsAll_args, existsAll_args._Fields>, java.io.Serializable, Cloneable {
+  public static class existsAll_args implements org.apache.thrift.TBase<existsAll_args, existsAll_args._Fields>, java.io.Serializable, Cloneable, Comparable<existsAll_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("existsAll_args");
 
-    private static final org.apache.thrift.protocol.TField TABLE_FIELD_DESC = new org.apache.thrift.protocol.TField("table", org.apache.thrift.protocol.TType.STRING, (short) 1);
-    private static final org.apache.thrift.protocol.TField TGETS_FIELD_DESC = new org.apache.thrift.protocol.TField("tgets", org.apache.thrift.protocol.TType.LIST, (short) 2);
+    private static final org.apache.thrift.protocol.TField TABLE_FIELD_DESC = new org.apache.thrift.protocol.TField("table", org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField TGETS_FIELD_DESC = new org.apache.thrift.protocol.TField("tgets", org.apache.thrift.protocol.TType.LIST, (short)2);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-
     static {
       schemes.put(StandardScheme.class, new existsAll_argsStandardSchemeFactory());
       schemes.put(TupleScheme.class, new existsAll_argsTupleSchemeFactory());
@@ -4287,18 +4345,16 @@ public class THBaseService {
      */
     public List<TGet> tgets; // required
 
-    /**
-     * The set of fields this struct contains, along with convenience methods for finding and manipulating them.
-     */
+    /** 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 table to check on
        */
-      TABLE((short) 1, "table"),
+      TABLE((short)1, "table"),
       /**
        * a list of TGets to check for
        */
-      TGETS((short) 2, "tgets");
+      TGETS((short)2, "tgets");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -4312,7 +4368,7 @@ public class THBaseService {
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
       public static _Fields findByThriftId(int fieldId) {
-        switch (fieldId) {
+        switch(fieldId) {
           case 1: // TABLE
             return TABLE;
           case 2: // TGETS
@@ -4358,14 +4414,13 @@ public class THBaseService {
 
     // 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.TABLE, new org.apache.thrift.meta_data.FieldMetaData("table", org.apache.thrift.TFieldRequirementType.REQUIRED,
-              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING, true)));
-      tmpMap.put(_Fields.TGETS, new org.apache.thrift.meta_data.FieldMetaData("tgets", org.apache.thrift.TFieldRequirementType.REQUIRED,
-              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, TGet.class))));
+      tmpMap.put(_Fields.TABLE, new org.apache.thrift.meta_data.FieldMetaData("table", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING          , true)));
+      tmpMap.put(_Fields.TGETS, new org.apache.thrift.meta_data.FieldMetaData("tgets", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          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, TGet.class))));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(existsAll_args.class, metaDataMap);
     }
@@ -4374,10 +4429,11 @@ public class THBaseService {
     }
 
     public existsAll_args(
-            ByteBuffer table,
-            List<TGet> tgets) {
+      ByteBuffer table,
+      List<TGet> tgets)
+    {
       this();
-      this.table = table;
+      this.table = org.apache.thrift.TBaseHelper.copyBinary(table);
       this.tgets = tgets;
     }
 
@@ -4387,10 +4443,9 @@ public class THBaseService {
     public existsAll_args(existsAll_args other) {
       if (other.isSetTable()) {
         this.table = org.apache.thrift.TBaseHelper.copyBinary(other.table);
-        ;
       }
       if (other.isSetTgets()) {
-        List<TGet> __this__tgets = new ArrayList<TGet>();
+        List<TGet> __this__tgets = new ArrayList<TGet>(other.tgets.size());
         for (TGet other_element : other.tgets) {
           __this__tgets.add(new TGet(other_element));
         }
@@ -4417,19 +4472,19 @@ public class THBaseService {
     }
 
     public ByteBuffer bufferForTable() {
-      return table;
+      return org.apache.thrift.TBaseHelper.copyBinary(table);
     }
 
     /**
      * the table to check on
      */
     public existsAll_args setTable(byte[] table) {
-      setTable(table == null ? (ByteBuffer) null : ByteBuffer.wrap(table));
+      this.table = table == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(table, table.length));
       return this;
     }
 
     public existsAll_args setTable(ByteBuffer table) {
-      this.table = table;
+      this.table = org.apache.thrift.TBaseHelper.copyBinary(table);
       return this;
     }
 
@@ -4437,9 +4492,7 @@ public class THBaseService {
       this.table = null;
     }
 
-    /**
-     * Returns true if field table is set (has been assigned a value) and false otherwise
-     */
+    /** Returns true if field table is set (has been assigned a value) and false otherwise */
     public boolean isSetTable() {
       return this.table != null;
     }
@@ -4484,9 +4537,7 @@ public class THBaseService {
       this.tgets = null;
     }
 
-    /**
-     * Returns true if field tgets is set (has been assigned a value) and false otherwise
-     */
+    /** Returns true if field tgets is set (has been assigned a value) and false otherwise */
     public boolean isSetTgets() {
       return this.tgets != null;
     }
@@ -4499,50 +4550,48 @@ public class THBaseService {
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
-        case TABLE:
-          if (value == null) {
-            unsetTable();
-          } else {
-            setTable((ByteBuffer) value);
-          }
-          break;
+      case TABLE:
+        if (value == null) {
+          unsetTable();
+        } else {
+          setTable((ByteBuffer)value);
+        }
+        break;
 
-        case TGETS:
-          if (value == null) {
-            unsetTgets();
-          } else {
-            setTgets((List<TGet>) value);
-          }
-          break;
+      case TGETS:
+        if (value == null) {
+          unsetTgets();
+        } else {
+          setTgets((List<TGet>)value);
+        }
+        break;
 
       }
     }
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
-        case TABLE:
-          return getTable();
+      case TABLE:
+        return getTable();
 
-        case TGETS:
-          return getTgets();
+      case TGETS:
+        return getTgets();
 
       }
       throw new IllegalStateException();
     }
 
-    /**
-     * Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise
-     */
+    /** 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:
-          return isSetTable();
-        case TGETS:
-          return isSetTgets();
+      case TABLE:
+        return isSetTable();
+      case TGETS:
+        return isSetTgets();
       }
       throw new IllegalStateException();
     }
@@ -4552,7 +4601,7 @@ public class THBaseService {
       if (that == null)
         return false;
       if (that instanceof existsAll_args)
-        return this.equals((existsAll_args) that);
+        return this.equals((existsAll_args)that);
       return false;
     }
 
@@ -4583,33 +4632,45 @@ public class THBaseService {
 
     @Override
     public int hashCode() {
-      return 0;
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_table = true && (isSetTable());
+      list.add(present_table);
+      if (present_table)
+        list.add(table);
+
+      boolean present_tgets = true && (isSetTgets());
+      list.add(present_tgets);
+      if (present_tgets)
+        list.add(tgets);
+
+      return list.hashCode();
     }
 
+    @Override
     public int compareTo(existsAll_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
-      existsAll_args typedOther = (existsAll_args) other;
 
-      lastComparison = Boolean.valueOf(isSetTable()).compareTo(typedOther.isSetTable());
+      lastComparison = Boolean.valueOf(isSetTable()).compareTo(other.isSetTable());
       if (lastComparison != 0) {
         return lastComparison;
       }
       if (isSetTable()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.table, typedOther.table);
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.table, other.table);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetTgets()).compareTo(typedOther.isSetTgets());
+      lastComparison = Boolean.valueOf(isSetTgets()).compareTo(other.isSetTgets());
       if (lastComparison != 0) {
         return lastComparison;
       }
       if (isSetTgets()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tgets, typedOther.tgets);
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tgets, other.tgets);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -4691,9 +4752,10 @@ public class THBaseService {
       public void read(org.apache.thrift.protocol.TProtocol iprot, existsAll_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
-        while (true) {
+        while (true)
+        {
           schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
             break;
           }
           switch (schemeField.id) {
@@ -4701,25 +4763,26 @@ public class THBaseService {
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                 struct.table = iprot.readBinary();
                 struct.setTableIsSet(true);
-              } else {
+              } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
             case 2: // TGETS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list132 = iprot.readListBegin();
-                  struct.tgets = new ArrayList<TGet>(_list132.size);
-                  for (int _i133 = 0; _i133 < _list132.size; ++_i133) {
-                    TGet _elem134; // required
-                    _elem134 = new TGet();
-                    _elem134.read(iprot);
-                    struct.tgets.add(_elem134);
+                  org.apache.thrift.protocol.TList _list142 = iprot.readListBegin();
+                  struct.tgets = new ArrayList<TGet>(_list142.size);
+                  TGet _elem143;
+                  for (int _i144 = 0; _i144 < _list142.size; ++_i144)
+                  {
+                    _elem143 = new TGet();
+                    _elem143.read(iprot);
+                    struct.tgets.add(_elem143);
                   }
                   iprot.readListEnd();
                 }
                 struct.setTgetsIsSet(true);
-              } else {
+              } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
@@ -4747,8 +4810,9 @@ public class THBaseService {
           oprot.writeFieldBegin(TGETS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tgets.size()));
-            for (TGet _iter135 : struct.tgets) {
-              _iter135.write(oprot);
+            for (TGet _iter145 : struct.tgets)
+            {
+              _iter145.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -4774,8 +4838,9 @@ public class THBaseService {
         oprot.writeBinary(struct.table);
         {
           oprot.writeI32(struct.tgets.size());
-          for (TGet _iter136 : struct.tgets) {
-            _iter136.write(oprot);
+          for (TGet _iter146 : struct.tgets)
+          {
+            _iter146.write(oprot);
           }
         }
       }
@@ -4786,13 +4851,14 @@ public class THBaseService {
         struct.table = iprot.readBinary();
         struct.setTableIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list137 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.tgets = new ArrayList<TGet>(_list137.size);
-          for (int _i138 = 0; _i138 < _list137.size; ++_i138) {
-            TGet _elem139; // required
-            _elem139 = new TGet();
-            _elem139.read(iprot);
-            struct.tgets.add(_elem139);
+          org.apache.thrift.protocol.TList _list147 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.tgets = new ArrayList<TGet>(_list147.size);
+          TGet _elem148;
+          for (int _i149 = 0; _i149 < _list147.size; ++_i149)
+          {
+            _elem148 = new TGet();
+            _elem148.read(iprot);
+            struct.tgets.add(_elem148);
           }
         }
         struct.setTgetsIsSet(true);
@@ -4801,14 +4867,13 @@ public class THBaseService {
 
   }
 
-  public static class existsAll_result implements org.apache.thrift.TBase<existsAll_result, existsAll_result._Fields>, java.io.Serializable, Cloneable {
+  public static class existsAll_result implements org.apache.thrift.TBase<existsAll_result, existsAll_result._Fields>, java.io.Serializable, Cloneable, Comparable<existsAll_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("existsAll_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short) 0);
-    private static final org.apache.thrift.protocol.TField IO_FIELD_DESC = new org.apache.thrift.protocol.TField("io", org.apache.thrift.protocol.TType.STRUCT, (short) 1);
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
+    private static final org.apache.thrift.protocol.TField IO_FIELD_DESC = new org.apache.thrift.protocol.TField("io", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-
     static {
       schemes.put(StandardScheme.class, new existsAll_resultStandardSchemeFactory());
       schemes.put(TupleScheme.class, new existsAll_resultTupleSchemeFactory());
@@ -4817,12 +4882,10 @@ public class THBaseService {
     public List<Boolean> success; // required
     public TIOError io; // required
 
-    /**
-     * The set of fields this struct contains, along with convenience methods for finding and manipulating them.
-     */
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short) 0, "success"),
-      IO((short) 1, "io");
+      SUCCESS((short)0, "success"),
+      IO((short)1, "io");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -4836,7 +4899,7 @@ public class THBaseService {
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
       public static _Fields findByThriftId(int fieldId) {
-        switch (fieldId) {
+        switch(fieldId) {
           case 0: // SUCCESS
             return SUCCESS;
           case 1: // IO
@@ -4882,14 +4945,13 @@ public class THBaseService {
 
     // 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.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT,
-              new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
-                      new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))));
-      tmpMap.put(_Fields.IO, new org.apache.thrift.meta_data.FieldMetaData("io", org.apache.thrift.TFieldRequirementType.DEFAULT,
-              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))));
+      tmpMap.put(_Fields.IO, new org.apache.thrift.meta_data.FieldMetaData("io", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(existsAll_result.class, metaDataMap);
     }
@@ -4898,8 +4960,9 @@ public class THBaseService {
     }
 
     public existsAll_result(
-            List<Boolean> success,
-            TIOError io) {
+      List<Boolean> success,
+      TIOError io)
+    {
       this();
       this.success = success;
       this.io = io;
@@ -4910,10 +4973,7 @@ public class THBaseService {
      */
     public existsAll_result(existsAll_result other) {
       if (other.isSetSuccess()) {
-        List<Boolean> __this__success = new ArrayList<Boolean>();
-        for (Boolean other_element : other.success) {
-          __this__success.add(other_element);
-        }
+        List<Boolean> __this__success = new ArrayList<Boolean>(other.success);
         this.success = __this__success;
       }
       if (other.isSetIo()) {
@@ -4959,9 +5019,7 @@ public class THBaseService {
       this.success = null;
     }
 
-    /**
-     * Returns true if field success is set (has been assigned a value) and false otherwise
-     */
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
     public boolean isSetSuccess() {
       return this.success != null;
     }
@@ -4985,9 +5043,7 @@ public class THBaseService {
       this.io = null;
     }
 
-    /**
-     * Returns true if field io is set (has been assigned a value) and false otherwise
-     */
+    /** Returns true if field io is set (has been assigned a value) and false otherwise */
     public boolean isSetIo() {
       return this.io != null;
     }
@@ -5000,50 +5056,48 @@ public class THBaseService {
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
-        case SUCCESS:
-          if (value == null) {
-            unsetSuccess();
-          } else {
-            setSuccess((List<Boolean>) value);
-          }
-          break;
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((List<Boolean>)value);
+        }
+        break;
 
-        case IO:
-          if (value == null) {
-            unsetIo();
-          } else {
-            setIo((TIOError) value);
-          }
-          break;
+      case IO:
+        if (value == null) {
+          unsetIo();
+        } else {
+          setIo((TIOError)value);
+        }
+        break;
 
       }
     }
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
-        case SUCCESS:
-          return getSuccess();
+      case SUCCESS:
+        return getSuccess();
 
-        case IO:
-          return getIo();
+      case IO:
+        return getIo();
 
       }
       throw new IllegalStateException();
     }
 
-    /**
-     * Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise
-     */
+    /** 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 SUCCESS:
-          return isSetSuccess();
-        case IO:
-          return isSetIo();
+      case SUCCESS:
+        return isSetSuccess();
+      case IO:
+        return isSetIo();
       }
       throw new IllegalStateException();
     }
@@ -5053,7 +5107,7 @@ public class THBaseService {
       if (that == null)
         return false;
       if (that instanceof existsAll_result)
-        return this.equals((existsAll_result) that);
+        return this.equals((existsAll_result)that);
       return false;
     }
 
@@ -5084,33 +5138,45 @@ public class THBaseService {
 
     @Override
     public int hashCode() {
-      return 0;
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_success = true && (isSetSuccess());
+      list.add(present_success);
+      if (present_success)
+        list.add(success);
+
+      boolean present_io = true && (isSetIo());
+      list.add(present_io);
+      if (present_io)
+        list.add(io);
+
+      return list.hashCode();
     }
 
+    @Override
     public int compareTo(existsAll_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
-      existsAll_result typedOther = (existsAll_result) other;
 
-      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
+      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
       if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetIo()).compareTo(typedOther.isSetIo());
+      lastComparison = Boolean.valueOf(isSetIo()).compareTo(other.isSetIo());
       if (lastComparison != 0) {
         return lastComparison;
       }
       if (isSetIo()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.io, typedOther.io);
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.io, other.io);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -5128,7 +5194,7 @@ public class THBaseService {
 
     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() {
@@ -5186,26 +5252,28 @@ public class THBaseService {
       public void read(org.apache.thrift.protocol.TProtocol iprot, existsAll_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
-        while (true) {
+        while (true)
+        {
           schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
             break;
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list140 = iprot.readListBegin();
-                  struct.success = new ArrayList<Boolean>(_list140.size);
-                  for (int _i141 = 0; _i141 < _list140.size; ++_i141) {
-                    boolean _elem142; // required
-                    _elem142 = iprot.readBool();
-                    struct.success.add(_elem142);
+                  org.apache.thrift.protocol.TList _list150 = iprot.readListBegin();
+                  struct.success = new ArrayList<Boolean>(_list150.size);
+                  boolean _elem151;
+                  for (int _i152 = 0; _i152 < _list150.size; ++_i152)
+                  {
+                    _elem151 = iprot.readBool();
+                    struct.success.add(_elem151);
                   }
                   iprot.readListEnd();
                 }
                 struct.setSuccessIsSet(true);
-              } else {
+              } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
@@ -5214,7 +5282,7 @@ public class THBaseService {
                 struct.io = new TIOError();
                 struct.io.read(iprot);
                 struct.setIoIsSet(true);
-              } else {
+              } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
@@ -5237,8 +5305,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.BOOL, struct.success.size()));
-            for (boolean _iter143 : struct.success) {
-              oprot.writeBool(_iter143);
+            for (boolean _iter153 : struct.success)
+            {
+              oprot.writeBool(_iter153);
             }
             oprot.writeListEnd();
           }
@@ -5277,8 +5346,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (boolean _iter144 : struct.success) {
-              oprot.writeBool(_iter144);
+            for (boolean _iter154 : struct.success)
+            {
+              oprot.writeBool(_iter154);
             }
           }
         }
@@ -5293,12 +5363,13 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list145 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.BOOL, iprot.readI32());
-            struct.success = new ArrayList<Boolean>(_list145.size);
-            for (int _i146 = 0; _i146 < _list145.size; ++_i146) {
-              boolean _elem147; // required
-              _elem147 = iprot.readBool();
-              struct.success.add(_elem147);
+            org.apache.thrift.protocol.TList _list155 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.BOOL, iprot.readI32());
+            struct.success = new ArrayList<Boolean>(_list155.size);
+            boolean _elem156;
+            for (int _i157 = 0; _i157 < _list155.size; ++_i157)
+            {
+              _elem156 = iprot.readBool();
+              struct.success.add(_elem156);
             }
           }
           struct.setSuccessIsSet(true);
@@ -6734,14 +6805,14 @@ public class THBaseService {
             case 2: // TGETS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list132 = iprot.readListBegin();
-                  struct.tgets = new ArrayList<TGet>(_list132.size);
-                  TGet _elem133;
-                  for (int _i134 = 0; _i134 < _list132.size; ++_i134)
+                  org.apache.thrift.protocol.TList _list158 = iprot.readListBegin();
+                  struct.tgets = new ArrayList<TGet>(_list158.size);
+                  TGet _elem159;
+                  for (int _i160 = 0; _i160 < _list158.size; ++_i160)
                   {
-                    _elem133 = new TGet();
-                    _elem133.read(iprot);
-                    struct.tgets.add(_elem133);
+                    _elem159 = new TGet();
+                    _elem159.read(iprot);
+                    struct.tgets.add(_elem159);
                   }
                   iprot.readListEnd();
                 }
@@ -6774,9 +6845,9 @@ public class THBaseService {
           oprot.writeFieldBegin(TGETS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tgets.size()));
-            for (TGet _iter135 : struct.tgets)
+            for (TGet _iter161 : struct.tgets)
             {
-              _iter135.write(oprot);
+              _iter161.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -6802,9 +6873,9 @@ public class THBaseService {
         oprot.writeBinary(struct.table);
         {
           oprot.writeI32(struct.tgets.size());
-          for (TGet _iter136 : struct.tgets)
+          for (TGet _iter162 : struct.tgets)
           {
-            _iter136.write(oprot);
+            _iter162.write(oprot);
           }
         }
       }
@@ -6815,14 +6886,14 @@ public class THBaseService {
         struct.table = iprot.readBinary();
         struct.setTableIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list137 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.tgets = new ArrayList<TGet>(_list137.size);
-          TGet _elem138;
-          for (int _i139 = 0; _i139 < _list137.size; ++_i139)
+          org.apache.thrift.protocol.TList _list163 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.tgets = new ArrayList<TGet>(_list163.size);
+          TGet _elem164;
+          for (int _i165 = 0; _i165 < _list163.size; ++_i165)
           {
-            _elem138 = new TGet();
-            _elem138.read(iprot);
-            struct.tgets.add(_elem138);
+            _elem164 = new TGet();
+            _elem164.read(iprot);
+            struct.tgets.add(_elem164);
           }
         }
         struct.setTgetsIsSet(true);
@@ -7229,14 +7300,14 @@ public class THBaseService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list140 = iprot.readListBegin();
-                  struct.success = new ArrayList<TResult>(_list140.size);
-                  TResult _elem141;
-                  for (int _i142 = 0; _i142 < _list140.size; ++_i142)
+                  org.apache.thrift.protocol.TList _list166 = iprot.readListBegin();
+                  struct.success = new ArrayList<TResult>(_list166.size);
+                  TResult _elem167;
+                  for (int _i168 = 0; _i168 < _list166.size; ++_i168)
                   {
-                    _elem141 = new TResult();
-                    _elem141.read(iprot);
-                    struct.success.add(_elem141);
+                    _elem167 = new TResult();
+                    _elem167.read(iprot);
+                    struct.success.add(_elem167);
                   }
                   iprot.readListEnd();
                 }
@@ -7273,9 +7344,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (TResult _iter143 : struct.success)
+            for (TResult _iter169 : struct.success)
             {
-              _iter143.write(oprot);
+              _iter169.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -7314,9 +7385,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (TResult _iter144 : struct.success)
+            for (TResult _iter170 : struct.success)
             {
-              _iter144.write(oprot);
+              _iter170.write(oprot);
             }
           }
         }
@@ -7331,14 +7402,14 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list145 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<TResult>(_list145.size);
-            TResult _elem146;
-            for (int _i147 = 0; _i147 < _list145.size; ++_i147)
+            org.apache.thrift.protocol.TList _list171 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<TResult>(_list171.size);
+            TResult _elem172;
+            for (int _i173 = 0; _i173 < _list171.size; ++_i173)
             {
-              _elem146 = new TResult();
-              _elem146.read(iprot);
-              struct.success.add(_elem146);
+              _elem172 = new TResult();
+              _elem172.read(iprot);
+              struct.success.add(_elem172);
             }
           }
           struct.setSuccessIsSet(true);
@@ -10125,14 +10196,14 @@ public class THBaseService {
             case 2: // TPUTS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list148 = iprot.readListBegin();
-                  struct.tputs = new ArrayList<TPut>(_list148.size);
-                  TPut _elem149;
-                  for (int _i150 = 0; _i150 < _list148.size; ++_i150)
+                  org.apache.thrift.protocol.TList _list174 = iprot.readListBegin();
+                  struct.tputs = new ArrayList<TPut>(_list174.size);
+                  TPut _elem175;
+                  for (int _i176 = 0; _i176 < _list174.size; ++_i176)
                   {
-                    _elem149 = new TPut();
-                    _elem149.read(iprot);
-                    struct.tputs.add(_elem149);
+                    _elem175 = new TPut();
+                    _elem175.read(iprot);
+                    struct.tputs.add(_elem175);
                   }
                   iprot.readListEnd();
                 }
@@ -10165,9 +10236,9 @@ public class THBaseService {
           oprot.writeFieldBegin(TPUTS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tputs.size()));
-            for (TPut _iter151 : struct.tputs)
+            for (TPut _iter177 : struct.tputs)
             {
-              _iter151.write(oprot);
+              _iter177.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -10193,9 +10264,9 @@ public class THBaseService {
         oprot.writeBinary(struct.table);
         {
           oprot.writeI32(struct.tputs.size());
-          for (TPut _iter152 : struct.tputs)
+          for (TPut _iter178 : struct.tputs)
           {
-            _iter152.write(oprot);
+            _iter178.write(oprot);
           }
         }
       }
@@ -10206,14 +10277,14 @@ public class THBaseService {
         struct.table = iprot.readBinary();
         struct.setTableIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list153 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.tputs = new ArrayList<TPut>(_list153.size);
-          TPut _elem154;
-          for (int _i155 = 0; _i155 < _list153.size; ++_i155)
+          org.apache.thrift.protocol.TList _list179 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.tputs = new ArrayList<TPut>(_list179.size);
+          TPut _elem180;
+          for (int _i181 = 0; _i181 < _list179.size; ++_i181)
           {
-            _elem154 = new TPut();
-            _elem154.read(iprot);
-            struct.tputs.add(_elem154);
+            _elem180 = new TPut();
+            _elem180.read(iprot);
+            struct.tputs.add(_elem180);
           }
         }
         struct.setTputsIsSet(true);
@@ -11888,14 +11959,14 @@ public class THBaseService {
             case 2: // TDELETES
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list156 = iprot.readListBegin();
-                  struct.tdeletes = new ArrayList<TDelete>(_list156.size);
-                  TDelete _elem157;
-                  for (int _i158 = 0; _i158 < _list156.size; ++_i158)
+                  org.apache.thrift.protocol.TList _list182 = iprot.readListBegin();
+                  struct.tdeletes = new ArrayList<TDelete>(_list182.size);
+                  TDelete _elem183;
+                  for (int _i184 = 0; _i184 < _list182.size; ++_i184)
                   {
-                    _elem157 = new TDelete();
-                    _elem157.read(iprot);
-                    struct.tdeletes.add(_elem157);
+                    _elem183 = new TDelete();
+                    _elem183.read(iprot);
+                    struct.tdeletes.add(_elem183);
                   }
                   iprot.readListEnd();
                 }
@@ -11928,9 +11999,9 @@ public class THBaseService {
           oprot.writeFieldBegin(TDELETES_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tdeletes.size()));
-            for (TDelete _iter159 : struct.tdeletes)
+            for (TDelete _iter185 : struct.tdeletes)
             {
-              _iter159.write(oprot);
+              _iter185.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -11956,9 +12027,9 @@ public class THBaseService {
         oprot.writeBinary(struct.table);
         {
           oprot.writeI32(struct.tdeletes.size());
-          for (TDelete _iter160 : struct.tdeletes)
+          for (TDelete _iter186 : struct.tdeletes)
           {
-            _iter160.write(oprot);
+            _iter186.write(oprot);
           }
         }
       }
@@ -11969,14 +12040,14 @@ public class THBaseService {
         struct.table = iprot.readBinary();
         struct.setTableIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list161 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.tdeletes = new ArrayList<TDelete>(_list161.size);
-          TDelete _elem162;
-          for (int _i163 = 0; _i163 < _list161.size; ++_i163)
+          org.apache.thrift.protocol.TList _list187 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.tdeletes = new ArrayList<TDelete>(_list187.size);
+          TDelete _elem188;
+          for (int _i189 = 0; _i189 < _list187.size; ++_i189)
           {
-            _elem162 = new TDelete();
-            _elem162.read(iprot);
-            struct.tdeletes.add(_elem162);
+            _elem188 = new TDelete();
+            _elem188.read(iprot);
+            struct.tdeletes.add(_elem188);
           }
         }
         struct.setTdeletesIsSet(true);
@@ -12383,14 +12454,14 @@ public class THBaseService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list164 = iprot.readListBegin();
-                  struct.success = new ArrayList<TDelete>(_list164.size);
-                  TDelete _elem165;
-                  for (int _i166 = 0; _i166 < _list164.size; ++_i166)
+                  org.apache.thrift.protocol.TList _list190 = iprot.readListBegin();
+                  struct.success = new ArrayList<TDelete>(_list190.size);
+                  TDelete _elem191;
+                  for (int _i192 = 0; _i192 < _list190.size; ++_i192)
                   {
-                    _elem165 = new TDelete();
-                    _elem165.read(iprot);
-                    struct.success.add(_elem165);
+                    _elem191 = new TDelete();
+                    _elem191.read(iprot);
+                    struct.success.add(_elem191);
                   }
                   iprot.readListEnd();
                 }
@@ -12427,9 +12498,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (TDelete _iter167 : struct.success)
+            for (TDelete _iter193 : struct.success)
             {
-              _iter167.write(oprot);
+              _iter193.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -12468,9 +12539,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (TDelete _iter168 : struct.success)
+            for (TDelete _iter194 : struct.success)
             {
-              _iter168.write(oprot);
+              _iter194.write(oprot);
             }
           }
         }
@@ -12485,14 +12556,14 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list169 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<TDelete>(_list169.size);
-            TDelete _elem170;
-            for (int _i171 = 0; _i171 < _list169.size; ++_i171)
+            org.apache.thrift.protocol.TList _list195 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<TDelete>(_list195.size);
+            TDelete _elem196;
+            for (int _i197 = 0; _i197 < _list195.size; ++_i197)
             {
-              _elem170 = new TDelete();
-              _elem170.read(iprot);
-              struct.success.add(_elem170);
+              _elem196 = new TDelete();
+              _elem196.read(iprot);
+              struct.success.add(_elem196);
             }
           }
           struct.setSuccessIsSet(true);
@@ -17845,14 +17916,14 @@ public class THBaseService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list172 = iprot.readListBegin();
-                  struct.success = new ArrayList<TResult>(_list172.size);
-                  TResult _elem173;
-                  for (int _i174 = 0; _i174 < _list172.size; ++_i174)
+                  org.apache.thrift.protocol.TList _list198 = iprot.readListBegin();
+                  struct.success = new ArrayList<TResult>(_list198.size);
+                  TResult _elem199;
+                  for (int _i200 = 0; _i200 < _list198.size; ++_i200)
                   {
-                    _elem173 = new TResult();
-                    _elem173.read(iprot);
-                    struct.success.add(_elem173);
+                    _elem199 = new TResult();
+                    _elem199.read(iprot);
+                    struct.success.add(_elem199);
                   }
                   iprot.readListEnd();
                 }
@@ -17898,9 +17969,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (TResult _iter175 : struct.success)
+            for (TResult _iter201 : struct.success)
             {
-              _iter175.write(oprot);
+              _iter201.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -17947,9 +18018,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (TResult _iter176 : struct.success)
+            for (TResult _iter202 : struct.success)
             {
-              _iter176.write(oprot);
+              _iter202.write(oprot);
             }
           }
         }
@@ -17967,14 +18038,14 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list177 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<TResult>(_list177.size);
-            TResult _elem178;
-            for (int _i179 = 0; _i179 < _list177.size; ++_i179)
+            org.apache.thrift.protocol.TList _list203 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<TResult>(_list203.size);
+            TResult _elem204;
+            for (int _i205 = 0; _i205 < _list203.size; ++_i205)
             {
-              _elem178 = new TResult();
-              _elem178.read(iprot);
-              struct.success.add(_elem178);
+              _elem204 = new TResult();
+              _elem204.read(iprot);
+              struct.success.add(_elem204);
             }
           }
           struct.setSuccessIsSet(true);
@@ -20710,14 +20781,14 @@ public class THBaseService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list180 = iprot.readListBegin();
-                  struct.success = new ArrayList<TResult>(_list180.size);
-                  TResult _elem181;
-                  for (int _i182 = 0; _i182 < _list180.size; ++_i182)
+                  org.apache.thrift.protocol.TList _list206 = iprot.readListBegin();
+                  struct.success = new ArrayList<TResult>(_list206.size);
+                  TResult _elem207;
+                  for (int _i208 = 0; _i208 < _list206.size; ++_i208)
                   {
-                    _elem181 = new TResult();
-                    _elem181.read(iprot);
-                    struct.success.add(_elem181);
+                    _elem207 = new TResult();
+                    _elem207.read(iprot);
+                    struct.success.add(_elem207);
                   }
                   iprot.readListEnd();
                 }
@@ -20754,9 +20825,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (TResult _iter183 : struct.success)
+            for (TResult _iter209 : struct.success)
             {
-              _iter183.write(oprot);
+              _iter209.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -20795,9 +20866,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (TResult _iter184 : struct.success)
+            for (TResult _iter210 : struct.success)
             {
-              _iter184.write(oprot);
+              _iter210.write(oprot);
             }
           }
         }
@@ -20812,14 +20883,14 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list185 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<TResult>(_list185.size);
-            TResult _elem186;
-            for (int _i187 = 0; _i187 < _list185.size; ++_i187)
+            org.apache.thrift.protocol.TList _list211 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<TResult>(_list211.size);
+            TResult _elem212;
+            for (int _i213 = 0; _i213 < _list211.size; ++_i213)
             {
-              _elem186 = new TResult();
-              _elem186.read(iprot);
-              struct.success.add(_elem186);
+              _elem212 = new TResult();
+              _elem212.read(iprot);
+              struct.success.add(_elem212);
             }
           }
           struct.setSuccessIsSet(true);
@@ -22650,14 +22721,14 @@ public class THBaseService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list188 = iprot.readListBegin();
-                  struct.success = new ArrayList<THRegionLocation>(_list188.size);
-                  THRegionLocation _elem189;
-                  for (int _i190 = 0; _i190 < _list188.size; ++_i190)
+                  org.apache.thrift.protocol.TList _list214 = iprot.readListBegin();
+                  struct.success = new ArrayList<THRegionLocation>(_list214.size);
+                  THRegionLocation _elem215;
+                  for (int _i216 = 0; _i216 < _list214.size; ++_i216)
                   {
-                    _elem189 = new THRegionLocation();
-                    _elem189.read(iprot);
-                    struct.success.add(_elem189);
+                    _elem215 = new THRegionLocation();
+                    _elem215.read(iprot);
+                    struct.success.add(_elem215);
                   }
                   iprot.readListEnd();
                 }
@@ -22694,9 +22765,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (THRegionLocation _iter191 : struct.success)
+            for (THRegionLocation _iter217 : struct.success)
             {
-              _iter191.write(oprot);
+              _iter217.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -22735,9 +22806,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (THRegionLocation _iter192 : struct.success)
+            for (THRegionLocation _iter218 : struct.success)
             {
-              _iter192.write(oprot);
+              _iter218.write(oprot);
             }
           }
         }
@@ -22752,14 +22823,14 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list193 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<THRegionLocation>(_list193.size);
-            THRegionLocation _elem194;
-            for (int _i195 = 0; _i195 < _list193.size; ++_i195)
+            org.apache.thrift.protocol.TList _list219 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<THRegionLocation>(_list219.size);
+            THRegionLocation _elem220;
+            for (int _i221 = 0; _i221 < _list219.size; ++_i221)
             {
-              _elem194 = new THRegionLocation();
-              _elem194.read(iprot);
-              struct.success.add(_elem194);
+              _elem220 = new THRegionLocation();
+              _elem220.read(iprot);
+              struct.success.add(_elem220);
             }
           }
           struct.setSuccessIsSet(true);


[5/6] hbase git commit: HBASE-20845 Support set the consistency for Gets and Scans in thrift2

Posted by ap...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase/blob/85103316/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 ff8d5ff..ea93741 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,12 +37,13 @@ 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 = "2016-05-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-08-07")
 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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -52,11 +53,13 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
 
   public ByteBuffer row; // optional
   public List<TColumnValue> columnValues; // required
+  public boolean stale; // 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");
+    COLUMN_VALUES((short)2, "columnValues"),
+    STALE((short)3, "stale");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -75,6 +78,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
           return ROW;
         case 2: // COLUMN_VALUES
           return COLUMN_VALUES;
+        case 3: // STALE
+          return STALE;
         default:
           return null;
       }
@@ -115,7 +120,9 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
   }
 
   // isset id assignments
-  private static final _Fields optionals[] = {_Fields.ROW};
+  private static final int __STALE_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.ROW,_Fields.STALE};
   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);
@@ -124,11 +131,15 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     tmpMap.put(_Fields.COLUMN_VALUES, new org.apache.thrift.meta_data.FieldMetaData("columnValues", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         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, 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)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TResult.class, metaDataMap);
   }
 
   public TResult() {
+    this.stale = false;
+
   }
 
   public TResult(
@@ -142,6 +153,7 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
    * Performs a deep copy on <i>other</i>.
    */
   public TResult(TResult other) {
+    __isset_bitfield = other.__isset_bitfield;
     if (other.isSetRow()) {
       this.row = org.apache.thrift.TBaseHelper.copyBinary(other.row);
     }
@@ -152,6 +164,7 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       }
       this.columnValues = __this__columnValues;
     }
+    this.stale = other.stale;
   }
 
   public TResult deepCopy() {
@@ -162,6 +175,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
   public void clear() {
     this.row = null;
     this.columnValues = null;
+    this.stale = false;
+
   }
 
   public byte[] getRow() {
@@ -237,6 +252,29 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     }
   }
 
+  public boolean isStale() {
+    return this.stale;
+  }
+
+  public TResult setStale(boolean stale) {
+    this.stale = stale;
+    setStaleIsSet(true);
+    return this;
+  }
+
+  public void unsetStale() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __STALE_ISSET_ID);
+  }
+
+  /** Returns true if field stale is set (has been assigned a value) and false otherwise */
+  public boolean isSetStale() {
+    return EncodingUtils.testBit(__isset_bitfield, __STALE_ISSET_ID);
+  }
+
+  public void setStaleIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __STALE_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case ROW:
@@ -255,6 +293,14 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       }
       break;
 
+    case STALE:
+      if (value == null) {
+        unsetStale();
+      } else {
+        setStale((Boolean)value);
+      }
+      break;
+
     }
   }
 
@@ -266,6 +312,9 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     case COLUMN_VALUES:
       return getColumnValues();
 
+    case STALE:
+      return isStale();
+
     }
     throw new IllegalStateException();
   }
@@ -281,6 +330,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       return isSetRow();
     case COLUMN_VALUES:
       return isSetColumnValues();
+    case STALE:
+      return isSetStale();
     }
     throw new IllegalStateException();
   }
@@ -316,6 +367,15 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         return false;
     }
 
+    boolean this_present_stale = true && this.isSetStale();
+    boolean that_present_stale = true && that.isSetStale();
+    if (this_present_stale || that_present_stale) {
+      if (!(this_present_stale && that_present_stale))
+        return false;
+      if (this.stale != that.stale)
+        return false;
+    }
+
     return true;
   }
 
@@ -333,6 +393,11 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     if (present_columnValues)
       list.add(columnValues);
 
+    boolean present_stale = true && (isSetStale());
+    list.add(present_stale);
+    if (present_stale)
+      list.add(stale);
+
     return list.hashCode();
   }
 
@@ -364,6 +429,16 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetStale()).compareTo(other.isSetStale());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetStale()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.stale, other.stale);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -401,6 +476,12 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       sb.append(this.columnValues);
     }
     first = false;
+    if (isSetStale()) {
+      if (!first) sb.append(", ");
+      sb.append("stale:");
+      sb.append(this.stale);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -423,6 +504,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._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);
@@ -474,6 +557,14 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 3: // STALE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.stale = iprot.readBool();
+              struct.setStaleIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -508,6 +599,11 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         }
         oprot.writeFieldEnd();
       }
+      if (struct.isSetStale()) {
+        oprot.writeFieldBegin(STALE_FIELD_DESC);
+        oprot.writeBool(struct.stale);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -536,10 +632,16 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       if (struct.isSetRow()) {
         optionals.set(0);
       }
-      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetStale()) {
+        optionals.set(1);
+      }
+      oprot.writeBitSet(optionals, 2);
       if (struct.isSetRow()) {
         oprot.writeBinary(struct.row);
       }
+      if (struct.isSetStale()) {
+        oprot.writeBool(struct.stale);
+      }
     }
 
     @Override
@@ -557,11 +659,15 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         }
       }
       struct.setColumnValuesIsSet(true);
-      BitSet incoming = iprot.readBitSet(1);
+      BitSet incoming = iprot.readBitSet(2);
       if (incoming.get(0)) {
         struct.row = iprot.readBinary();
         struct.setRowIsSet(true);
       }
+      if (incoming.get(1)) {
+        struct.stale = iprot.readBool();
+        struct.setStaleIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/85103316/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 8a8a7b2..436ea3c 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-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-08-07")
 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/85103316/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 50a8347..37bd325 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 = "2017-03-24")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-08-07")
 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");
 
@@ -56,6 +56,8 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
   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)12);
   private static final org.apache.thrift.protocol.TField COL_FAM_TIME_RANGE_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("colFamTimeRangeMap", org.apache.thrift.protocol.TType.MAP, (short)13);
   private static final org.apache.thrift.protocol.TField SMALL_FIELD_DESC = new org.apache.thrift.protocol.TField("small", org.apache.thrift.protocol.TType.BOOL, (short)14);
+  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)16);
+  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)17);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -77,6 +79,12 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
   public boolean cacheBlocks; // optional
   public Map<ByteBuffer,TTimeRange> colFamTimeRangeMap; // optional
   public boolean small; // optional
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TConsistency consistency; // optional
+  public int targetReplicaId; // 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 {
@@ -93,7 +101,13 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     REVERSED((short)11, "reversed"),
     CACHE_BLOCKS((short)12, "cacheBlocks"),
     COL_FAM_TIME_RANGE_MAP((short)13, "colFamTimeRangeMap"),
-    SMALL((short)14, "small");
+    SMALL((short)14, "small"),
+    /**
+     * 
+     * @see TConsistency
+     */
+    CONSISTENCY((short)16, "consistency"),
+    TARGET_REPLICA_ID((short)17, "targetReplicaId");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -136,6 +150,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
           return COL_FAM_TIME_RANGE_MAP;
         case 14: // SMALL
           return SMALL;
+        case 16: // CONSISTENCY
+          return CONSISTENCY;
+        case 17: // TARGET_REPLICA_ID
+          return TARGET_REPLICA_ID;
         default:
           return null;
       }
@@ -182,8 +200,9 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
   private static final int __REVERSED_ISSET_ID = 3;
   private static final int __CACHEBLOCKS_ISSET_ID = 4;
   private static final int __SMALL_ISSET_ID = 5;
+  private static final int __TARGETREPLICAID_ISSET_ID = 6;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.START_ROW,_Fields.STOP_ROW,_Fields.COLUMNS,_Fields.CACHING,_Fields.MAX_VERSIONS,_Fields.TIME_RANGE,_Fields.FILTER_STRING,_Fields.BATCH_SIZE,_Fields.ATTRIBUTES,_Fields.AUTHORIZATIONS,_Fields.REVERSED,_Fields.CACHE_BLOCKS,_Fields.COL_FAM_TIME_RANGE_MAP,_Fields.SMALL};
+  private static final _Fields optionals[] = {_Fields.START_ROW,_Fields.STOP_ROW,_Fields.COLUMNS,_Fields.CACHING,_Fields.MAX_VERSIONS,_Fields.TIME_RANGE,_Fields.FILTER_STRING,_Fields.BATCH_SIZE,_Fields.ATTRIBUTES,_Fields.AUTHORIZATIONS,_Fields.REVERSED,_Fields.CACHE_BLOCKS,_Fields.COL_FAM_TIME_RANGE_MAP,_Fields.SMALL,_Fields.CONSISTENCY,_Fields.TARGET_REPLICA_ID};
   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);
@@ -220,6 +239,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
             new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TTimeRange.class))));
     tmpMap.put(_Fields.SMALL, new org.apache.thrift.meta_data.FieldMetaData("small", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.CONSISTENCY, new org.apache.thrift.meta_data.FieldMetaData("consistency", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        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)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TScan.class, metaDataMap);
   }
@@ -281,6 +304,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       this.colFamTimeRangeMap = __this__colFamTimeRangeMap;
     }
     this.small = other.small;
+    if (other.isSetConsistency()) {
+      this.consistency = other.consistency;
+    }
+    this.targetReplicaId = other.targetReplicaId;
   }
 
   public TScan deepCopy() {
@@ -309,6 +336,9 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     this.colFamTimeRangeMap = null;
     setSmallIsSet(false);
     this.small = false;
+    this.consistency = null;
+    setTargetReplicaIdIsSet(false);
+    this.targetReplicaId = 0;
   }
 
   public byte[] getStartRow() {
@@ -708,6 +738,61 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SMALL_ISSET_ID, value);
   }
 
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TConsistency getConsistency() {
+    return this.consistency;
+  }
+
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TScan setConsistency(TConsistency consistency) {
+    this.consistency = consistency;
+    return this;
+  }
+
+  public void unsetConsistency() {
+    this.consistency = null;
+  }
+
+  /** Returns true if field consistency is set (has been assigned a value) and false otherwise */
+  public boolean isSetConsistency() {
+    return this.consistency != null;
+  }
+
+  public void setConsistencyIsSet(boolean value) {
+    if (!value) {
+      this.consistency = null;
+    }
+  }
+
+  public int getTargetReplicaId() {
+    return this.targetReplicaId;
+  }
+
+  public TScan setTargetReplicaId(int targetReplicaId) {
+    this.targetReplicaId = targetReplicaId;
+    setTargetReplicaIdIsSet(true);
+    return this;
+  }
+
+  public void unsetTargetReplicaId() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID);
+  }
+
+  /** Returns true if field targetReplicaId is set (has been assigned a value) and false otherwise */
+  public boolean isSetTargetReplicaId() {
+    return EncodingUtils.testBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID);
+  }
+
+  public void setTargetReplicaIdIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case START_ROW:
@@ -822,6 +907,22 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       }
       break;
 
+    case CONSISTENCY:
+      if (value == null) {
+        unsetConsistency();
+      } else {
+        setConsistency((TConsistency)value);
+      }
+      break;
+
+    case TARGET_REPLICA_ID:
+      if (value == null) {
+        unsetTargetReplicaId();
+      } else {
+        setTargetReplicaId((Integer)value);
+      }
+      break;
+
     }
   }
 
@@ -869,6 +970,12 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     case SMALL:
       return isSmall();
 
+    case CONSISTENCY:
+      return getConsistency();
+
+    case TARGET_REPLICA_ID:
+      return getTargetReplicaId();
+
     }
     throw new IllegalStateException();
   }
@@ -908,6 +1015,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       return isSetColFamTimeRangeMap();
     case SMALL:
       return isSetSmall();
+    case CONSISTENCY:
+      return isSetConsistency();
+    case TARGET_REPLICA_ID:
+      return isSetTargetReplicaId();
     }
     throw new IllegalStateException();
   }
@@ -1051,6 +1162,24 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         return false;
     }
 
+    boolean this_present_consistency = true && this.isSetConsistency();
+    boolean that_present_consistency = true && that.isSetConsistency();
+    if (this_present_consistency || that_present_consistency) {
+      if (!(this_present_consistency && that_present_consistency))
+        return false;
+      if (!this.consistency.equals(that.consistency))
+        return false;
+    }
+
+    boolean this_present_targetReplicaId = true && this.isSetTargetReplicaId();
+    boolean that_present_targetReplicaId = true && that.isSetTargetReplicaId();
+    if (this_present_targetReplicaId || that_present_targetReplicaId) {
+      if (!(this_present_targetReplicaId && that_present_targetReplicaId))
+        return false;
+      if (this.targetReplicaId != that.targetReplicaId)
+        return false;
+    }
+
     return true;
   }
 
@@ -1128,6 +1257,16 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     if (present_small)
       list.add(small);
 
+    boolean present_consistency = true && (isSetConsistency());
+    list.add(present_consistency);
+    if (present_consistency)
+      list.add(consistency.getValue());
+
+    boolean present_targetReplicaId = true && (isSetTargetReplicaId());
+    list.add(present_targetReplicaId);
+    if (present_targetReplicaId)
+      list.add(targetReplicaId);
+
     return list.hashCode();
   }
 
@@ -1279,6 +1418,26 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetConsistency()).compareTo(other.isSetConsistency());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetConsistency()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.consistency, other.consistency);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTargetReplicaId()).compareTo(other.isSetTargetReplicaId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTargetReplicaId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.targetReplicaId, other.targetReplicaId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -1414,6 +1573,22 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       sb.append(this.small);
       first = false;
     }
+    if (isSetConsistency()) {
+      if (!first) sb.append(", ");
+      sb.append("consistency:");
+      if (this.consistency == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.consistency);
+      }
+      first = false;
+    }
+    if (isSetTargetReplicaId()) {
+      if (!first) sb.append(", ");
+      sb.append("targetReplicaId:");
+      sb.append(this.targetReplicaId);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1615,6 +1790,22 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 16: // CONSISTENCY
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.consistency = org.apache.hadoop.hbase.thrift2.generated.TConsistency.findByValue(iprot.readI32());
+              struct.setConsistencyIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 17: // TARGET_REPLICA_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.targetReplicaId = iprot.readI32();
+              struct.setTargetReplicaIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1739,6 +1930,18 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         oprot.writeBool(struct.small);
         oprot.writeFieldEnd();
       }
+      if (struct.consistency != null) {
+        if (struct.isSetConsistency()) {
+          oprot.writeFieldBegin(CONSISTENCY_FIELD_DESC);
+          oprot.writeI32(struct.consistency.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetTargetReplicaId()) {
+        oprot.writeFieldBegin(TARGET_REPLICA_ID_FIELD_DESC);
+        oprot.writeI32(struct.targetReplicaId);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1799,7 +2002,13 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       if (struct.isSetSmall()) {
         optionals.set(13);
       }
-      oprot.writeBitSet(optionals, 14);
+      if (struct.isSetConsistency()) {
+        optionals.set(14);
+      }
+      if (struct.isSetTargetReplicaId()) {
+        optionals.set(15);
+      }
+      oprot.writeBitSet(optionals, 16);
       if (struct.isSetStartRow()) {
         oprot.writeBinary(struct.startRow);
       }
@@ -1862,12 +2071,18 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       if (struct.isSetSmall()) {
         oprot.writeBool(struct.small);
       }
+      if (struct.isSetConsistency()) {
+        oprot.writeI32(struct.consistency.getValue());
+      }
+      if (struct.isSetTargetReplicaId()) {
+        oprot.writeI32(struct.targetReplicaId);
+      }
     }
 
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, TScan struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(14);
+      BitSet incoming = iprot.readBitSet(16);
       if (incoming.get(0)) {
         struct.startRow = iprot.readBinary();
         struct.setStartRowIsSet(true);
@@ -1959,6 +2174,14 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         struct.small = iprot.readBool();
         struct.setSmallIsSet(true);
       }
+      if (incoming.get(14)) {
+        struct.consistency = org.apache.hadoop.hbase.thrift2.generated.TConsistency.findByValue(iprot.readI32());
+        struct.setConsistencyIsSet(true);
+      }
+      if (incoming.get(15)) {
+        struct.targetReplicaId = iprot.readI32();
+        struct.setTargetReplicaIdIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/85103316/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 eff92cb..af7ff96 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
@@ -65,7 +65,8 @@ struct TColumnIncrement {
  */
 struct TResult {
   1: optional binary row,
-  2: required list<TColumnValue> columnValues
+  2: required list<TColumnValue> columnValues,
+  3: optional bool stale = false
 }
 
 /**
@@ -99,6 +100,17 @@ struct TAuthorization {
 struct TCellVisibility {
  1: optional string expression
 }
+
+/**
+ * Specify Consistency:
+ *  - STRONG means reads only from primary region
+ *  - TIMELINE means reads might return values from secondary region replicas
+ */
+enum TConsistency {
+  STRONG = 1,
+  TIMELINE = 2
+}
+
 /**
  * Used to perform Get operations on a single row.
  *
@@ -123,6 +135,8 @@ struct TGet {
   6: optional binary filterString,
   7: optional map<binary, binary> attributes
   8: optional TAuthorization authorizations
+  9: optional TConsistency consistency
+  10: optional i32 targetReplicaId
 }
 
 /**
@@ -227,6 +241,8 @@ struct TScan {
   12: optional bool cacheBlocks
   13: optional map<binary,TTimeRange> colFamTimeRangeMap
   14: optional bool small
+  16: optional TConsistency consistency
+  17: optional i32 targetReplicaId
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/hbase/blob/85103316/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 931f4e2..5bb77cd 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
@@ -31,6 +31,9 @@ import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.Consistency;
+import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Durability;
 import org.apache.hadoop.hbase.client.Get;
 import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.client.Put;
@@ -54,6 +57,7 @@ import org.apache.hadoop.hbase.thrift2.generated.TColumn;
 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.TDelete;
 import org.apache.hadoop.hbase.thrift2.generated.TDeleteType;
 import org.apache.hadoop.hbase.thrift2.generated.TGet;
@@ -1461,6 +1465,37 @@ public class TestThriftHBaseServiceHandler {
     assertTColumnValueEqual(columnValueB, result.getColumnValues().get(1));
   }
 
+  @Test
+  public void testConsistency() throws Exception {
+    byte[] rowName = Bytes.toBytes("testConsistency");
+    TGet tGet = new TGet(wrap(rowName));
+    tGet.setConsistency(TConsistency.STRONG);
+    Get get = getFromThrift(tGet);
+    assertEquals(Consistency.STRONG, get.getConsistency());
+
+    tGet.setConsistency(TConsistency.TIMELINE);
+    tGet.setTargetReplicaId(1);
+    get = getFromThrift(tGet);
+    assertEquals(Consistency.TIMELINE, get.getConsistency());
+    assertEquals(1, get.getReplicaId());
+
+    TScan tScan = new TScan();
+    tScan.setConsistency(TConsistency.STRONG);
+    Scan scan = scanFromThrift(tScan);
+    assertEquals(Consistency.STRONG, scan.getConsistency());
+
+    tScan.setConsistency(TConsistency.TIMELINE);
+    tScan.setTargetReplicaId(1);
+    scan = scanFromThrift(tScan);
+    assertEquals(Consistency.TIMELINE, scan.getConsistency());
+    assertEquals(1, scan.getReplicaId());
+
+    TResult tResult = new TResult();
+    assertFalse(tResult.isSetStale());
+    tResult.setStale(true);
+    assertTrue(tResult.isSetStale());
+  }
+
   public static class DelayingRegionObserver extends BaseRegionObserver {
     private static final Log LOG = LogFactory.getLog(DelayingRegionObserver.class);
     // sleep time in msec


[3/6] hbase git commit: HBASE-20845 Support set the consistency for Gets and Scans in thrift2

Posted by ap...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase/blob/1cb72aed/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 8c16012..317f9b5 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,12 +37,13 @@ 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 = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-07-04")
 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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -52,11 +53,13 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
 
   public ByteBuffer row; // optional
   public List<TColumnValue> columnValues; // required
+  public boolean stale; // 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");
+    COLUMN_VALUES((short)2, "columnValues"),
+    STALE((short)3, "stale");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -75,6 +78,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
           return ROW;
         case 2: // COLUMN_VALUES
           return COLUMN_VALUES;
+        case 3: // STALE
+          return STALE;
         default:
           return null;
       }
@@ -115,7 +120,9 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
   }
 
   // isset id assignments
-  private static final _Fields optionals[] = {_Fields.ROW};
+  private static final int __STALE_ISSET_ID = 0;
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.ROW,_Fields.STALE};
   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);
@@ -124,11 +131,15 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     tmpMap.put(_Fields.COLUMN_VALUES, new org.apache.thrift.meta_data.FieldMetaData("columnValues", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         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, 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)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TResult.class, metaDataMap);
   }
 
   public TResult() {
+    this.stale = false;
+
   }
 
   public TResult(
@@ -142,6 +153,7 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
    * Performs a deep copy on <i>other</i>.
    */
   public TResult(TResult other) {
+    __isset_bitfield = other.__isset_bitfield;
     if (other.isSetRow()) {
       this.row = org.apache.thrift.TBaseHelper.copyBinary(other.row);
     }
@@ -152,6 +164,7 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       }
       this.columnValues = __this__columnValues;
     }
+    this.stale = other.stale;
   }
 
   public TResult deepCopy() {
@@ -162,6 +175,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
   public void clear() {
     this.row = null;
     this.columnValues = null;
+    this.stale = false;
+
   }
 
   public byte[] getRow() {
@@ -237,6 +252,29 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     }
   }
 
+  public boolean isStale() {
+    return this.stale;
+  }
+
+  public TResult setStale(boolean stale) {
+    this.stale = stale;
+    setStaleIsSet(true);
+    return this;
+  }
+
+  public void unsetStale() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __STALE_ISSET_ID);
+  }
+
+  /** Returns true if field stale is set (has been assigned a value) and false otherwise */
+  public boolean isSetStale() {
+    return EncodingUtils.testBit(__isset_bitfield, __STALE_ISSET_ID);
+  }
+
+  public void setStaleIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __STALE_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case ROW:
@@ -255,6 +293,14 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       }
       break;
 
+    case STALE:
+      if (value == null) {
+        unsetStale();
+      } else {
+        setStale((Boolean)value);
+      }
+      break;
+
     }
   }
 
@@ -266,6 +312,9 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     case COLUMN_VALUES:
       return getColumnValues();
 
+    case STALE:
+      return isStale();
+
     }
     throw new IllegalStateException();
   }
@@ -281,6 +330,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       return isSetRow();
     case COLUMN_VALUES:
       return isSetColumnValues();
+    case STALE:
+      return isSetStale();
     }
     throw new IllegalStateException();
   }
@@ -316,6 +367,15 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         return false;
     }
 
+    boolean this_present_stale = true && this.isSetStale();
+    boolean that_present_stale = true && that.isSetStale();
+    if (this_present_stale || that_present_stale) {
+      if (!(this_present_stale && that_present_stale))
+        return false;
+      if (this.stale != that.stale)
+        return false;
+    }
+
     return true;
   }
 
@@ -333,6 +393,11 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
     if (present_columnValues)
       list.add(columnValues);
 
+    boolean present_stale = true && (isSetStale());
+    list.add(present_stale);
+    if (present_stale)
+      list.add(stale);
+
     return list.hashCode();
   }
 
@@ -364,6 +429,16 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetStale()).compareTo(other.isSetStale());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetStale()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.stale, other.stale);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -401,6 +476,12 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       sb.append(this.columnValues);
     }
     first = false;
+    if (isSetStale()) {
+      if (!first) sb.append(", ");
+      sb.append("stale:");
+      sb.append(this.stale);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -423,6 +504,8 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._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);
@@ -474,6 +557,14 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 3: // STALE
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.stale = iprot.readBool();
+              struct.setStaleIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -508,6 +599,11 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         }
         oprot.writeFieldEnd();
       }
+      if (struct.isSetStale()) {
+        oprot.writeFieldBegin(STALE_FIELD_DESC);
+        oprot.writeBool(struct.stale);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -536,10 +632,16 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
       if (struct.isSetRow()) {
         optionals.set(0);
       }
-      oprot.writeBitSet(optionals, 1);
+      if (struct.isSetStale()) {
+        optionals.set(1);
+      }
+      oprot.writeBitSet(optionals, 2);
       if (struct.isSetRow()) {
         oprot.writeBinary(struct.row);
       }
+      if (struct.isSetStale()) {
+        oprot.writeBool(struct.stale);
+      }
     }
 
     @Override
@@ -557,11 +659,15 @@ public class TResult implements org.apache.thrift.TBase<TResult, TResult._Fields
         }
       }
       struct.setColumnValuesIsSet(true);
-      BitSet incoming = iprot.readBitSet(1);
+      BitSet incoming = iprot.readBitSet(2);
       if (incoming.get(0)) {
         struct.row = iprot.readBinary();
         struct.setRowIsSet(true);
       }
+      if (incoming.get(1)) {
+        struct.stale = iprot.readBool();
+        struct.setStaleIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/1cb72aed/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 1839207..b5ece00 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 = "2017-03-27")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-07-03")
 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");
 
@@ -57,6 +57,8 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
   private static final org.apache.thrift.protocol.TField COL_FAM_TIME_RANGE_MAP_FIELD_DESC = new org.apache.thrift.protocol.TField("colFamTimeRangeMap", org.apache.thrift.protocol.TType.MAP, (short)13);
   private static final org.apache.thrift.protocol.TField READ_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("readType", org.apache.thrift.protocol.TType.I32, (short)14);
   private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I32, (short)15);
+  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)16);
+  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)17);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -83,6 +85,12 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
    */
   public TReadType readType; // optional
   public int limit; // optional
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TConsistency consistency; // optional
+  public int targetReplicaId; // 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 {
@@ -104,7 +112,13 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
      * @see TReadType
      */
     READ_TYPE((short)14, "readType"),
-    LIMIT((short)15, "limit");
+    LIMIT((short)15, "limit"),
+    /**
+     * 
+     * @see TConsistency
+     */
+    CONSISTENCY((short)16, "consistency"),
+    TARGET_REPLICA_ID((short)17, "targetReplicaId");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -149,6 +163,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
           return READ_TYPE;
         case 15: // LIMIT
           return LIMIT;
+        case 16: // CONSISTENCY
+          return CONSISTENCY;
+        case 17: // TARGET_REPLICA_ID
+          return TARGET_REPLICA_ID;
         default:
           return null;
       }
@@ -195,8 +213,9 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
   private static final int __REVERSED_ISSET_ID = 3;
   private static final int __CACHEBLOCKS_ISSET_ID = 4;
   private static final int __LIMIT_ISSET_ID = 5;
+  private static final int __TARGETREPLICAID_ISSET_ID = 6;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.START_ROW,_Fields.STOP_ROW,_Fields.COLUMNS,_Fields.CACHING,_Fields.MAX_VERSIONS,_Fields.TIME_RANGE,_Fields.FILTER_STRING,_Fields.BATCH_SIZE,_Fields.ATTRIBUTES,_Fields.AUTHORIZATIONS,_Fields.REVERSED,_Fields.CACHE_BLOCKS,_Fields.COL_FAM_TIME_RANGE_MAP,_Fields.READ_TYPE,_Fields.LIMIT};
+  private static final _Fields optionals[] = {_Fields.START_ROW,_Fields.STOP_ROW,_Fields.COLUMNS,_Fields.CACHING,_Fields.MAX_VERSIONS,_Fields.TIME_RANGE,_Fields.FILTER_STRING,_Fields.BATCH_SIZE,_Fields.ATTRIBUTES,_Fields.AUTHORIZATIONS,_Fields.REVERSED,_Fields.CACHE_BLOCKS,_Fields.COL_FAM_TIME_RANGE_MAP,_Fields.READ_TYPE,_Fields.LIMIT,_Fields.CONSISTENCY,_Fields.TARGET_REPLICA_ID};
   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);
@@ -235,6 +254,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TReadType.class)));
     tmpMap.put(_Fields.LIMIT, new org.apache.thrift.meta_data.FieldMetaData("limit", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
+    tmpMap.put(_Fields.CONSISTENCY, new org.apache.thrift.meta_data.FieldMetaData("consistency", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        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)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TScan.class, metaDataMap);
   }
@@ -299,6 +322,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       this.readType = other.readType;
     }
     this.limit = other.limit;
+    if (other.isSetConsistency()) {
+      this.consistency = other.consistency;
+    }
+    this.targetReplicaId = other.targetReplicaId;
   }
 
   public TScan deepCopy() {
@@ -328,6 +355,9 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     this.readType = null;
     setLimitIsSet(false);
     this.limit = 0;
+    this.consistency = null;
+    setTargetReplicaIdIsSet(false);
+    this.targetReplicaId = 0;
   }
 
   public byte[] getStartRow() {
@@ -759,6 +789,61 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
   }
 
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TConsistency getConsistency() {
+    return this.consistency;
+  }
+
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TScan setConsistency(TConsistency consistency) {
+    this.consistency = consistency;
+    return this;
+  }
+
+  public void unsetConsistency() {
+    this.consistency = null;
+  }
+
+  /** Returns true if field consistency is set (has been assigned a value) and false otherwise */
+  public boolean isSetConsistency() {
+    return this.consistency != null;
+  }
+
+  public void setConsistencyIsSet(boolean value) {
+    if (!value) {
+      this.consistency = null;
+    }
+  }
+
+  public int getTargetReplicaId() {
+    return this.targetReplicaId;
+  }
+
+  public TScan setTargetReplicaId(int targetReplicaId) {
+    this.targetReplicaId = targetReplicaId;
+    setTargetReplicaIdIsSet(true);
+    return this;
+  }
+
+  public void unsetTargetReplicaId() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID);
+  }
+
+  /** Returns true if field targetReplicaId is set (has been assigned a value) and false otherwise */
+  public boolean isSetTargetReplicaId() {
+    return EncodingUtils.testBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID);
+  }
+
+  public void setTargetReplicaIdIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case START_ROW:
@@ -881,6 +966,22 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       }
       break;
 
+    case CONSISTENCY:
+      if (value == null) {
+        unsetConsistency();
+      } else {
+        setConsistency((TConsistency)value);
+      }
+      break;
+
+    case TARGET_REPLICA_ID:
+      if (value == null) {
+        unsetTargetReplicaId();
+      } else {
+        setTargetReplicaId((Integer)value);
+      }
+      break;
+
     }
   }
 
@@ -931,6 +1032,12 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     case LIMIT:
       return getLimit();
 
+    case CONSISTENCY:
+      return getConsistency();
+
+    case TARGET_REPLICA_ID:
+      return getTargetReplicaId();
+
     }
     throw new IllegalStateException();
   }
@@ -972,6 +1079,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       return isSetReadType();
     case LIMIT:
       return isSetLimit();
+    case CONSISTENCY:
+      return isSetConsistency();
+    case TARGET_REPLICA_ID:
+      return isSetTargetReplicaId();
     }
     throw new IllegalStateException();
   }
@@ -1124,6 +1235,24 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         return false;
     }
 
+    boolean this_present_consistency = true && this.isSetConsistency();
+    boolean that_present_consistency = true && that.isSetConsistency();
+    if (this_present_consistency || that_present_consistency) {
+      if (!(this_present_consistency && that_present_consistency))
+        return false;
+      if (!this.consistency.equals(that.consistency))
+        return false;
+    }
+
+    boolean this_present_targetReplicaId = true && this.isSetTargetReplicaId();
+    boolean that_present_targetReplicaId = true && that.isSetTargetReplicaId();
+    if (this_present_targetReplicaId || that_present_targetReplicaId) {
+      if (!(this_present_targetReplicaId && that_present_targetReplicaId))
+        return false;
+      if (this.targetReplicaId != that.targetReplicaId)
+        return false;
+    }
+
     return true;
   }
 
@@ -1206,6 +1335,16 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     if (present_limit)
       list.add(limit);
 
+    boolean present_consistency = true && (isSetConsistency());
+    list.add(present_consistency);
+    if (present_consistency)
+      list.add(consistency.getValue());
+
+    boolean present_targetReplicaId = true && (isSetTargetReplicaId());
+    list.add(present_targetReplicaId);
+    if (present_targetReplicaId)
+      list.add(targetReplicaId);
+
     return list.hashCode();
   }
 
@@ -1367,6 +1506,26 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetConsistency()).compareTo(other.isSetConsistency());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetConsistency()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.consistency, other.consistency);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTargetReplicaId()).compareTo(other.isSetTargetReplicaId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTargetReplicaId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.targetReplicaId, other.targetReplicaId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -1512,6 +1671,22 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       sb.append(this.limit);
       first = false;
     }
+    if (isSetConsistency()) {
+      if (!first) sb.append(", ");
+      sb.append("consistency:");
+      if (this.consistency == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.consistency);
+      }
+      first = false;
+    }
+    if (isSetTargetReplicaId()) {
+      if (!first) sb.append(", ");
+      sb.append("targetReplicaId:");
+      sb.append(this.targetReplicaId);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1721,6 +1896,22 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 16: // CONSISTENCY
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.consistency = org.apache.hadoop.hbase.thrift2.generated.TConsistency.findByValue(iprot.readI32());
+              struct.setConsistencyIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 17: // TARGET_REPLICA_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.targetReplicaId = iprot.readI32();
+              struct.setTargetReplicaIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1852,6 +2043,18 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         oprot.writeI32(struct.limit);
         oprot.writeFieldEnd();
       }
+      if (struct.consistency != null) {
+        if (struct.isSetConsistency()) {
+          oprot.writeFieldBegin(CONSISTENCY_FIELD_DESC);
+          oprot.writeI32(struct.consistency.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetTargetReplicaId()) {
+        oprot.writeFieldBegin(TARGET_REPLICA_ID_FIELD_DESC);
+        oprot.writeI32(struct.targetReplicaId);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1915,7 +2118,13 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       if (struct.isSetLimit()) {
         optionals.set(14);
       }
-      oprot.writeBitSet(optionals, 15);
+      if (struct.isSetConsistency()) {
+        optionals.set(15);
+      }
+      if (struct.isSetTargetReplicaId()) {
+        optionals.set(16);
+      }
+      oprot.writeBitSet(optionals, 17);
       if (struct.isSetStartRow()) {
         oprot.writeBinary(struct.startRow);
       }
@@ -1981,12 +2190,18 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       if (struct.isSetLimit()) {
         oprot.writeI32(struct.limit);
       }
+      if (struct.isSetConsistency()) {
+        oprot.writeI32(struct.consistency.getValue());
+      }
+      if (struct.isSetTargetReplicaId()) {
+        oprot.writeI32(struct.targetReplicaId);
+      }
     }
 
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, TScan struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(15);
+      BitSet incoming = iprot.readBitSet(17);
       if (incoming.get(0)) {
         struct.startRow = iprot.readBinary();
         struct.setStartRowIsSet(true);
@@ -2082,6 +2297,14 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         struct.limit = iprot.readI32();
         struct.setLimitIsSet(true);
       }
+      if (incoming.get(15)) {
+        struct.consistency = org.apache.hadoop.hbase.thrift2.generated.TConsistency.findByValue(iprot.readI32());
+        struct.setConsistencyIsSet(true);
+      }
+      if (incoming.get(16)) {
+        struct.targetReplicaId = iprot.readI32();
+        struct.setTargetReplicaIdIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/1cb72aed/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 8c5ef59..79196f4 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
@@ -65,7 +65,8 @@ struct TColumnIncrement {
  */
 struct TResult {
   1: optional binary row,
-  2: required list<TColumnValue> columnValues
+  2: required list<TColumnValue> columnValues,
+  3: optional bool stale = false
 }
 
 /**
@@ -101,6 +102,17 @@ struct TAuthorization {
 struct TCellVisibility {
  1: optional string expression
 }
+
+/**
+ * Specify Consistency:
+ *  - STRONG means reads only from primary region
+ *  - TIMELINE means reads might return values from secondary region replicas
+ */
+enum TConsistency {
+  STRONG = 1,
+  TIMELINE = 2
+}
+
 /**
  * Used to perform Get operations on a single row.
  *
@@ -125,6 +137,8 @@ struct TGet {
   6: optional binary filterString,
   7: optional map<binary, binary> attributes
   8: optional TAuthorization authorizations
+  9: optional TConsistency consistency
+  10: optional i32 targetReplicaId
 }
 
 /**
@@ -236,6 +250,8 @@ struct TScan {
   13: optional map<binary,TTimeRange> colFamTimeRangeMap
   14: optional TReadType readType
   15: optional i32 limit
+  16: optional TConsistency consistency
+  17: optional i32 targetReplicaId
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/hbase/blob/1cb72aed/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 e2651cd..6da712f 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
@@ -52,6 +52,7 @@ import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.Consistency;
 import org.apache.hadoop.hbase.client.Delete;
 import org.apache.hadoop.hbase.client.Durability;
 import org.apache.hadoop.hbase.client.Get;
@@ -75,6 +76,7 @@ import org.apache.hadoop.hbase.thrift2.generated.TColumn;
 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.TDelete;
 import org.apache.hadoop.hbase.thrift2.generated.TDeleteType;
 import org.apache.hadoop.hbase.thrift2.generated.TDurability;
@@ -1555,6 +1557,37 @@ public class TestThriftHBaseServiceHandler {
     assertTColumnValueEqual(columnValueB, result.getColumnValues().get(1));
   }
 
+  @Test
+  public void testConsistency() throws Exception {
+    byte[] rowName = Bytes.toBytes("testConsistency");
+    TGet tGet = new TGet(wrap(rowName));
+    tGet.setConsistency(TConsistency.STRONG);
+    Get get = getFromThrift(tGet);
+    assertEquals(Consistency.STRONG, get.getConsistency());
+
+    tGet.setConsistency(TConsistency.TIMELINE);
+    tGet.setTargetReplicaId(1);
+    get = getFromThrift(tGet);
+    assertEquals(Consistency.TIMELINE, get.getConsistency());
+    assertEquals(1, get.getReplicaId());
+
+    TScan tScan = new TScan();
+    tScan.setConsistency(TConsistency.STRONG);
+    Scan scan = scanFromThrift(tScan);
+    assertEquals(Consistency.STRONG, scan.getConsistency());
+
+    tScan.setConsistency(TConsistency.TIMELINE);
+    tScan.setTargetReplicaId(1);
+    scan = scanFromThrift(tScan);
+    assertEquals(Consistency.TIMELINE, scan.getConsistency());
+    assertEquals(1, scan.getReplicaId());
+
+    TResult tResult = new TResult();
+    assertFalse(tResult.isSetStale());
+    tResult.setStale(true);
+    assertTrue(tResult.isSetStale());
+  }
+
   public static class DelayingRegionObserver implements RegionCoprocessor, RegionObserver {
     private static final Logger LOG = LoggerFactory.getLogger(DelayingRegionObserver.class);
     // sleep time in msec


[4/6] hbase git commit: HBASE-20845 Support set the consistency for Gets and Scans in thrift2

Posted by ap...@apache.org.
HBASE-20845 Support set the consistency for Gets and Scans in thrift2

Signed-off-by: Andrew Purtell <ap...@apache.org>


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

Branch: refs/heads/branch-2
Commit: 1cb72aedbb9d9028d80331f7338568e86441cf2a
Parents: e0bba12
Author: Guangxu Cheng <gu...@gmail.com>
Authored: Thu Jul 5 10:49:01 2018 +0800
Committer: Andrew Purtell <ap...@apache.org>
Committed: Tue Aug 7 13:34:39 2018 -0700

----------------------------------------------------------------------
 .../hadoop/hbase/thrift2/ThriftUtilities.java   |  28 +
 .../hbase/thrift2/generated/TConsistency.java   |  50 ++
 .../hadoop/hbase/thrift2/generated/TGet.java    | 233 +++++-
 .../hbase/thrift2/generated/THBaseService.java  | 703 ++++++++++---------
 .../hadoop/hbase/thrift2/generated/TResult.java | 116 ++-
 .../hadoop/hbase/thrift2/generated/TScan.java   | 233 +++++-
 .../apache/hadoop/hbase/thrift2/hbase.thrift    |  18 +-
 .../thrift2/TestThriftHBaseServiceHandler.java  |  33 +
 8 files changed, 1082 insertions(+), 332 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/1cb72aed/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 0849cb9..57d340f 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
@@ -37,6 +37,7 @@ import org.apache.hadoop.hbase.HRegionLocation;
 import org.apache.hadoop.hbase.PrivateCellUtil;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.client.Append;
+import org.apache.hadoop.hbase.client.Consistency;
 import org.apache.hadoop.hbase.client.Delete;
 import org.apache.hadoop.hbase.client.Durability;
 import org.apache.hadoop.hbase.client.Get;
@@ -55,6 +56,7 @@ import org.apache.hadoop.hbase.thrift2.generated.TColumn;
 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.TDelete;
 import org.apache.hadoop.hbase.thrift2.generated.TDurability;
 import org.apache.hadoop.hbase.thrift2.generated.TGet;
@@ -119,6 +121,14 @@ public class ThriftUtilities {
       out.setAuthorizations(new Authorizations(in.getAuthorizations().getLabels()));
     }
 
+    if (in.isSetConsistency()) {
+      out.setConsistency(consistencyFromThrift(in.getConsistency()));
+    }
+
+    if (in.isSetTargetReplicaId()) {
+      out.setReplicaId(in.getTargetReplicaId());
+    }
+
     if (!in.isSetColumns()) {
       return out;
     }
@@ -179,6 +189,8 @@ public class ThriftUtilities {
       columnValues.add(col);
     }
     out.setColumnValues(columnValues);
+
+    out.setStale(in.isStale());
     return out;
   }
 
@@ -486,6 +498,14 @@ public class ThriftUtilities {
       out.setLimit(in.getLimit());
     }
 
+    if (in.isSetConsistency()) {
+      out.setConsistency(consistencyFromThrift(in.getConsistency()));
+    }
+
+    if (in.isSetTargetReplicaId()) {
+      out.setReplicaId(in.getTargetReplicaId());
+    }
+
     return out;
   }
 
@@ -610,4 +630,12 @@ public class ThriftUtilities {
       default: return null;
     }
   }
+
+  private static Consistency consistencyFromThrift(TConsistency tConsistency) {
+    switch (tConsistency.getValue()) {
+      case 1: return Consistency.STRONG;
+      case 2: return Consistency.TIMELINE;
+      default: return Consistency.STRONG;
+    }
+  }
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/1cb72aed/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TConsistency.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TConsistency.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TConsistency.java
new file mode 100644
index 0000000..b473d02
--- /dev/null
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TConsistency.java
@@ -0,0 +1,50 @@
+/**
+ * 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;
+
+/**
+ * Specify Consistency:
+ *  - STRONG means reads only from primary region
+ *  - TIMELINE means reads might return values from secondary region replicas
+ */
+public enum TConsistency implements org.apache.thrift.TEnum {
+  STRONG(1),
+  TIMELINE(2);
+
+  private final int value;
+
+  private TConsistency(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 TConsistency findByValue(int value) { 
+    switch (value) {
+      case 1:
+        return STRONG;
+      case 2:
+        return TIMELINE;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/hbase/blob/1cb72aed/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 a493bd9..cfb1d6c 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 = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-07-03")
 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");
 
@@ -59,6 +59,8 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
   private static final org.apache.thrift.protocol.TField FILTER_STRING_FIELD_DESC = new org.apache.thrift.protocol.TField("filterString", org.apache.thrift.protocol.TType.STRING, (short)6);
   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)7);
   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 Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -74,6 +76,12 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
   public ByteBuffer filterString; // optional
   public Map<ByteBuffer,ByteBuffer> attributes; // optional
   public TAuthorization authorizations; // optional
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TConsistency consistency; // optional
+  public int targetReplicaId; // 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 {
@@ -84,7 +92,13 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     MAX_VERSIONS((short)5, "maxVersions"),
     FILTER_STRING((short)6, "filterString"),
     ATTRIBUTES((short)7, "attributes"),
-    AUTHORIZATIONS((short)8, "authorizations");
+    AUTHORIZATIONS((short)8, "authorizations"),
+    /**
+     * 
+     * @see TConsistency
+     */
+    CONSISTENCY((short)9, "consistency"),
+    TARGET_REPLICA_ID((short)10, "targetReplicaId");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -115,6 +129,10 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
           return ATTRIBUTES;
         case 8: // AUTHORIZATIONS
           return AUTHORIZATIONS;
+        case 9: // CONSISTENCY
+          return CONSISTENCY;
+        case 10: // TARGET_REPLICA_ID
+          return TARGET_REPLICA_ID;
         default:
           return null;
       }
@@ -157,8 +175,9 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
   // isset id assignments
   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 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};
+  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};
   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);
@@ -181,6 +200,10 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING            , true))));
     tmpMap.put(_Fields.AUTHORIZATIONS, new org.apache.thrift.meta_data.FieldMetaData("authorizations", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TAuthorization.class)));
+    tmpMap.put(_Fields.CONSISTENCY, new org.apache.thrift.meta_data.FieldMetaData("consistency", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        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)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TGet.class, metaDataMap);
   }
@@ -225,6 +248,10 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     if (other.isSetAuthorizations()) {
       this.authorizations = new TAuthorization(other.authorizations);
     }
+    if (other.isSetConsistency()) {
+      this.consistency = other.consistency;
+    }
+    this.targetReplicaId = other.targetReplicaId;
   }
 
   public TGet deepCopy() {
@@ -243,6 +270,9 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     this.filterString = null;
     this.attributes = null;
     this.authorizations = null;
+    this.consistency = null;
+    setTargetReplicaIdIsSet(false);
+    this.targetReplicaId = 0;
   }
 
   public byte[] getRow() {
@@ -481,6 +511,61 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     }
   }
 
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TConsistency getConsistency() {
+    return this.consistency;
+  }
+
+  /**
+   * 
+   * @see TConsistency
+   */
+  public TGet setConsistency(TConsistency consistency) {
+    this.consistency = consistency;
+    return this;
+  }
+
+  public void unsetConsistency() {
+    this.consistency = null;
+  }
+
+  /** Returns true if field consistency is set (has been assigned a value) and false otherwise */
+  public boolean isSetConsistency() {
+    return this.consistency != null;
+  }
+
+  public void setConsistencyIsSet(boolean value) {
+    if (!value) {
+      this.consistency = null;
+    }
+  }
+
+  public int getTargetReplicaId() {
+    return this.targetReplicaId;
+  }
+
+  public TGet setTargetReplicaId(int targetReplicaId) {
+    this.targetReplicaId = targetReplicaId;
+    setTargetReplicaIdIsSet(true);
+    return this;
+  }
+
+  public void unsetTargetReplicaId() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID);
+  }
+
+  /** Returns true if field targetReplicaId is set (has been assigned a value) and false otherwise */
+  public boolean isSetTargetReplicaId() {
+    return EncodingUtils.testBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID);
+  }
+
+  public void setTargetReplicaIdIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TARGETREPLICAID_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case ROW:
@@ -547,6 +632,22 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       }
       break;
 
+    case CONSISTENCY:
+      if (value == null) {
+        unsetConsistency();
+      } else {
+        setConsistency((TConsistency)value);
+      }
+      break;
+
+    case TARGET_REPLICA_ID:
+      if (value == null) {
+        unsetTargetReplicaId();
+      } else {
+        setTargetReplicaId((Integer)value);
+      }
+      break;
+
     }
   }
 
@@ -576,6 +677,12 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     case AUTHORIZATIONS:
       return getAuthorizations();
 
+    case CONSISTENCY:
+      return getConsistency();
+
+    case TARGET_REPLICA_ID:
+      return getTargetReplicaId();
+
     }
     throw new IllegalStateException();
   }
@@ -603,6 +710,10 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       return isSetAttributes();
     case AUTHORIZATIONS:
       return isSetAuthorizations();
+    case CONSISTENCY:
+      return isSetConsistency();
+    case TARGET_REPLICA_ID:
+      return isSetTargetReplicaId();
     }
     throw new IllegalStateException();
   }
@@ -692,6 +803,24 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
         return false;
     }
 
+    boolean this_present_consistency = true && this.isSetConsistency();
+    boolean that_present_consistency = true && that.isSetConsistency();
+    if (this_present_consistency || that_present_consistency) {
+      if (!(this_present_consistency && that_present_consistency))
+        return false;
+      if (!this.consistency.equals(that.consistency))
+        return false;
+    }
+
+    boolean this_present_targetReplicaId = true && this.isSetTargetReplicaId();
+    boolean that_present_targetReplicaId = true && that.isSetTargetReplicaId();
+    if (this_present_targetReplicaId || that_present_targetReplicaId) {
+      if (!(this_present_targetReplicaId && that_present_targetReplicaId))
+        return false;
+      if (this.targetReplicaId != that.targetReplicaId)
+        return false;
+    }
+
     return true;
   }
 
@@ -739,6 +868,16 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
     if (present_authorizations)
       list.add(authorizations);
 
+    boolean present_consistency = true && (isSetConsistency());
+    list.add(present_consistency);
+    if (present_consistency)
+      list.add(consistency.getValue());
+
+    boolean present_targetReplicaId = true && (isSetTargetReplicaId());
+    list.add(present_targetReplicaId);
+    if (present_targetReplicaId)
+      list.add(targetReplicaId);
+
     return list.hashCode();
   }
 
@@ -830,6 +969,26 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetConsistency()).compareTo(other.isSetConsistency());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetConsistency()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.consistency, other.consistency);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetTargetReplicaId()).compareTo(other.isSetTargetReplicaId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetTargetReplicaId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.targetReplicaId, other.targetReplicaId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -919,6 +1078,22 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       }
       first = false;
     }
+    if (isSetConsistency()) {
+      if (!first) sb.append(", ");
+      sb.append("consistency:");
+      if (this.consistency == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.consistency);
+      }
+      first = false;
+    }
+    if (isSetTargetReplicaId()) {
+      if (!first) sb.append(", ");
+      sb.append("targetReplicaId:");
+      sb.append(this.targetReplicaId);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1062,6 +1237,22 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 9: // CONSISTENCY
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.consistency = org.apache.hadoop.hbase.thrift2.generated.TConsistency.findByValue(iprot.readI32());
+              struct.setConsistencyIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 10: // TARGET_REPLICA_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.targetReplicaId = iprot.readI32();
+              struct.setTargetReplicaIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1142,6 +1333,18 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
           oprot.writeFieldEnd();
         }
       }
+      if (struct.consistency != null) {
+        if (struct.isSetConsistency()) {
+          oprot.writeFieldBegin(CONSISTENCY_FIELD_DESC);
+          oprot.writeI32(struct.consistency.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.isSetTargetReplicaId()) {
+        oprot.writeFieldBegin(TARGET_REPLICA_ID_FIELD_DESC);
+        oprot.writeI32(struct.targetReplicaId);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1182,7 +1385,13 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       if (struct.isSetAuthorizations()) {
         optionals.set(6);
       }
-      oprot.writeBitSet(optionals, 7);
+      if (struct.isSetConsistency()) {
+        optionals.set(7);
+      }
+      if (struct.isSetTargetReplicaId()) {
+        optionals.set(8);
+      }
+      oprot.writeBitSet(optionals, 9);
       if (struct.isSetColumns()) {
         {
           oprot.writeI32(struct.columns.size());
@@ -1217,6 +1426,12 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
       if (struct.isSetAuthorizations()) {
         struct.authorizations.write(oprot);
       }
+      if (struct.isSetConsistency()) {
+        oprot.writeI32(struct.consistency.getValue());
+      }
+      if (struct.isSetTargetReplicaId()) {
+        oprot.writeI32(struct.targetReplicaId);
+      }
     }
 
     @Override
@@ -1224,7 +1439,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(7);
+      BitSet incoming = iprot.readBitSet(9);
       if (incoming.get(0)) {
         {
           org.apache.thrift.protocol.TList _list27 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
@@ -1276,6 +1491,14 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
         struct.authorizations.read(iprot);
         struct.setAuthorizationsIsSet(true);
       }
+      if (incoming.get(7)) {
+        struct.consistency = org.apache.hadoop.hbase.thrift2.generated.TConsistency.findByValue(iprot.readI32());
+        struct.setConsistencyIsSet(true);
+      }
+      if (incoming.get(8)) {
+        struct.targetReplicaId = iprot.readI32();
+        struct.setTargetReplicaIdIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/1cb72aed/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 ae7c9d6..e8f36a0 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 = "2016-05-25")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2018-07-04")
 public class THBaseService {
 
   public interface Iface {
@@ -52,12 +52,12 @@ public class THBaseService {
 
     /**
      * Test for the existence of columns in the table, as specified by the TGets.
-     *
+     * 
      * This will return an array of booleans. Each value will be true if the related Get matches
      * one or more keys, false if not.
-     *
+     * 
      * @param table the table to check on
-     *
+     * 
      * @param tgets a list of TGets to check for
      */
     public List<Boolean> existsAll(ByteBuffer table, List<TGet> tgets) throws TIOError, org.apache.thrift.TException;
@@ -288,7 +288,7 @@ public class THBaseService {
 
     public void exists(ByteBuffer table, TGet tget, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void existsAll(ByteBuffer table, List<TGet> tgets, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.existsAll_call> resultHandler) throws org.apache.thrift.TException;
+    public void existsAll(ByteBuffer table, List<TGet> tgets, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void get(ByteBuffer table, TGet tget, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -945,7 +945,7 @@ public class THBaseService {
       }
     }
 
-    public void existsAll(ByteBuffer table, List<TGet> tgets, org.apache.thrift.async.AsyncMethodCallback<existsAll_call> resultHandler) throws org.apache.thrift.TException {
+    public void existsAll(ByteBuffer table, List<TGet> tgets, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
       existsAll_call method_call = new existsAll_call(table, tgets, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
@@ -955,7 +955,7 @@ public class THBaseService {
     public static class existsAll_call extends org.apache.thrift.async.TAsyncMethodCall {
       private ByteBuffer table;
       private List<TGet> tgets;
-      public existsAll_call(ByteBuffer table, List<TGet> tgets, org.apache.thrift.async.AsyncMethodCallback<existsAll_call> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public existsAll_call(ByteBuffer table, List<TGet> tgets, 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;
         this.tgets = tgets;
@@ -1733,6 +1733,7 @@ public class THBaseService {
         return result;
       }
     }
+
     public static class get<I extends Iface> extends org.apache.thrift.ProcessFunction<I, get_args> {
       public get() {
         super("get");
@@ -2187,6 +2188,7 @@ public class THBaseService {
 
     private static <I extends AsyncIface> Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(Map<String,  org.apache.thrift.AsyncProcessFunction<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());
@@ -2266,6 +2268,63 @@ public class THBaseService {
       }
     }
 
+    public static class existsAll<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, existsAll_args, List<Boolean>> {
+      public existsAll() {
+        super("existsAll");
+      }
+
+      public existsAll_args getEmptyArgsInstance() {
+        return new existsAll_args();
+      }
+
+      public AsyncMethodCallback<List<Boolean>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new AsyncMethodCallback<List<Boolean>>() { 
+          public void onComplete(List<Boolean> o) {
+            existsAll_result result = new existsAll_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+              return;
+            } catch (Exception e) {
+              LOGGER.error("Exception writing to internal frame buffer", e);
+            }
+            fb.close();
+          }
+          public void onError(Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TBase msg;
+            existsAll_result result = new existsAll_result();
+            if (e instanceof TIOError) {
+                        result.io = (TIOError) e;
+                        result.setIoIsSet(true);
+                        msg = result;
+            }
+             else 
+            {
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+              return;
+            } catch (Exception ex) {
+              LOGGER.error("Exception writing to internal frame buffer", ex);
+            }
+            fb.close();
+          }
+        };
+      }
+
+      protected boolean isOneway() {
+        return false;
+      }
+
+      public void start(I iface, existsAll_args args, org.apache.thrift.async.AsyncMethodCallback<List<Boolean>> resultHandler) throws TException {
+        iface.existsAll(args.table, args.tgets,resultHandler);
+      }
+    }
+
     public static class get<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_args, TResult> {
       public get() {
         super("get");
@@ -4265,14 +4324,13 @@ public class THBaseService {
 
   }
 
-  public static class existsAll_args implements org.apache.thrift.TBase<existsAll_args, existsAll_args._Fields>, java.io.Serializable, Cloneable {
+  public static class existsAll_args implements org.apache.thrift.TBase<existsAll_args, existsAll_args._Fields>, java.io.Serializable, Cloneable, Comparable<existsAll_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("existsAll_args");
 
-    private static final org.apache.thrift.protocol.TField TABLE_FIELD_DESC = new org.apache.thrift.protocol.TField("table", org.apache.thrift.protocol.TType.STRING, (short) 1);
-    private static final org.apache.thrift.protocol.TField TGETS_FIELD_DESC = new org.apache.thrift.protocol.TField("tgets", org.apache.thrift.protocol.TType.LIST, (short) 2);
+    private static final org.apache.thrift.protocol.TField TABLE_FIELD_DESC = new org.apache.thrift.protocol.TField("table", org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField TGETS_FIELD_DESC = new org.apache.thrift.protocol.TField("tgets", org.apache.thrift.protocol.TType.LIST, (short)2);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-
     static {
       schemes.put(StandardScheme.class, new existsAll_argsStandardSchemeFactory());
       schemes.put(TupleScheme.class, new existsAll_argsTupleSchemeFactory());
@@ -4287,18 +4345,16 @@ public class THBaseService {
      */
     public List<TGet> tgets; // required
 
-    /**
-     * The set of fields this struct contains, along with convenience methods for finding and manipulating them.
-     */
+    /** 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 table to check on
        */
-      TABLE((short) 1, "table"),
+      TABLE((short)1, "table"),
       /**
        * a list of TGets to check for
        */
-      TGETS((short) 2, "tgets");
+      TGETS((short)2, "tgets");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -4312,7 +4368,7 @@ public class THBaseService {
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
       public static _Fields findByThriftId(int fieldId) {
-        switch (fieldId) {
+        switch(fieldId) {
           case 1: // TABLE
             return TABLE;
           case 2: // TGETS
@@ -4358,14 +4414,13 @@ public class THBaseService {
 
     // 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.TABLE, new org.apache.thrift.meta_data.FieldMetaData("table", org.apache.thrift.TFieldRequirementType.REQUIRED,
-              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING, true)));
-      tmpMap.put(_Fields.TGETS, new org.apache.thrift.meta_data.FieldMetaData("tgets", org.apache.thrift.TFieldRequirementType.REQUIRED,
-              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, TGet.class))));
+      tmpMap.put(_Fields.TABLE, new org.apache.thrift.meta_data.FieldMetaData("table", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING          , true)));
+      tmpMap.put(_Fields.TGETS, new org.apache.thrift.meta_data.FieldMetaData("tgets", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          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, TGet.class))));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(existsAll_args.class, metaDataMap);
     }
@@ -4374,10 +4429,11 @@ public class THBaseService {
     }
 
     public existsAll_args(
-            ByteBuffer table,
-            List<TGet> tgets) {
+      ByteBuffer table,
+      List<TGet> tgets)
+    {
       this();
-      this.table = table;
+      this.table = org.apache.thrift.TBaseHelper.copyBinary(table);
       this.tgets = tgets;
     }
 
@@ -4387,10 +4443,9 @@ public class THBaseService {
     public existsAll_args(existsAll_args other) {
       if (other.isSetTable()) {
         this.table = org.apache.thrift.TBaseHelper.copyBinary(other.table);
-        ;
       }
       if (other.isSetTgets()) {
-        List<TGet> __this__tgets = new ArrayList<TGet>();
+        List<TGet> __this__tgets = new ArrayList<TGet>(other.tgets.size());
         for (TGet other_element : other.tgets) {
           __this__tgets.add(new TGet(other_element));
         }
@@ -4417,19 +4472,19 @@ public class THBaseService {
     }
 
     public ByteBuffer bufferForTable() {
-      return table;
+      return org.apache.thrift.TBaseHelper.copyBinary(table);
     }
 
     /**
      * the table to check on
      */
     public existsAll_args setTable(byte[] table) {
-      setTable(table == null ? (ByteBuffer) null : ByteBuffer.wrap(table));
+      this.table = table == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(table, table.length));
       return this;
     }
 
     public existsAll_args setTable(ByteBuffer table) {
-      this.table = table;
+      this.table = org.apache.thrift.TBaseHelper.copyBinary(table);
       return this;
     }
 
@@ -4437,9 +4492,7 @@ public class THBaseService {
       this.table = null;
     }
 
-    /**
-     * Returns true if field table is set (has been assigned a value) and false otherwise
-     */
+    /** Returns true if field table is set (has been assigned a value) and false otherwise */
     public boolean isSetTable() {
       return this.table != null;
     }
@@ -4484,9 +4537,7 @@ public class THBaseService {
       this.tgets = null;
     }
 
-    /**
-     * Returns true if field tgets is set (has been assigned a value) and false otherwise
-     */
+    /** Returns true if field tgets is set (has been assigned a value) and false otherwise */
     public boolean isSetTgets() {
       return this.tgets != null;
     }
@@ -4499,50 +4550,48 @@ public class THBaseService {
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
-        case TABLE:
-          if (value == null) {
-            unsetTable();
-          } else {
-            setTable((ByteBuffer) value);
-          }
-          break;
+      case TABLE:
+        if (value == null) {
+          unsetTable();
+        } else {
+          setTable((ByteBuffer)value);
+        }
+        break;
 
-        case TGETS:
-          if (value == null) {
-            unsetTgets();
-          } else {
-            setTgets((List<TGet>) value);
-          }
-          break;
+      case TGETS:
+        if (value == null) {
+          unsetTgets();
+        } else {
+          setTgets((List<TGet>)value);
+        }
+        break;
 
       }
     }
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
-        case TABLE:
-          return getTable();
+      case TABLE:
+        return getTable();
 
-        case TGETS:
-          return getTgets();
+      case TGETS:
+        return getTgets();
 
       }
       throw new IllegalStateException();
     }
 
-    /**
-     * Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise
-     */
+    /** 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:
-          return isSetTable();
-        case TGETS:
-          return isSetTgets();
+      case TABLE:
+        return isSetTable();
+      case TGETS:
+        return isSetTgets();
       }
       throw new IllegalStateException();
     }
@@ -4552,7 +4601,7 @@ public class THBaseService {
       if (that == null)
         return false;
       if (that instanceof existsAll_args)
-        return this.equals((existsAll_args) that);
+        return this.equals((existsAll_args)that);
       return false;
     }
 
@@ -4583,33 +4632,45 @@ public class THBaseService {
 
     @Override
     public int hashCode() {
-      return 0;
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_table = true && (isSetTable());
+      list.add(present_table);
+      if (present_table)
+        list.add(table);
+
+      boolean present_tgets = true && (isSetTgets());
+      list.add(present_tgets);
+      if (present_tgets)
+        list.add(tgets);
+
+      return list.hashCode();
     }
 
+    @Override
     public int compareTo(existsAll_args other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
-      existsAll_args typedOther = (existsAll_args) other;
 
-      lastComparison = Boolean.valueOf(isSetTable()).compareTo(typedOther.isSetTable());
+      lastComparison = Boolean.valueOf(isSetTable()).compareTo(other.isSetTable());
       if (lastComparison != 0) {
         return lastComparison;
       }
       if (isSetTable()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.table, typedOther.table);
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.table, other.table);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetTgets()).compareTo(typedOther.isSetTgets());
+      lastComparison = Boolean.valueOf(isSetTgets()).compareTo(other.isSetTgets());
       if (lastComparison != 0) {
         return lastComparison;
       }
       if (isSetTgets()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tgets, typedOther.tgets);
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tgets, other.tgets);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -4691,9 +4752,10 @@ public class THBaseService {
       public void read(org.apache.thrift.protocol.TProtocol iprot, existsAll_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
-        while (true) {
+        while (true)
+        {
           schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
             break;
           }
           switch (schemeField.id) {
@@ -4701,25 +4763,26 @@ public class THBaseService {
               if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                 struct.table = iprot.readBinary();
                 struct.setTableIsSet(true);
-              } else {
+              } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
             case 2: // TGETS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list132 = iprot.readListBegin();
-                  struct.tgets = new ArrayList<TGet>(_list132.size);
-                  for (int _i133 = 0; _i133 < _list132.size; ++_i133) {
-                    TGet _elem134; // required
-                    _elem134 = new TGet();
-                    _elem134.read(iprot);
-                    struct.tgets.add(_elem134);
+                  org.apache.thrift.protocol.TList _list142 = iprot.readListBegin();
+                  struct.tgets = new ArrayList<TGet>(_list142.size);
+                  TGet _elem143;
+                  for (int _i144 = 0; _i144 < _list142.size; ++_i144)
+                  {
+                    _elem143 = new TGet();
+                    _elem143.read(iprot);
+                    struct.tgets.add(_elem143);
                   }
                   iprot.readListEnd();
                 }
                 struct.setTgetsIsSet(true);
-              } else {
+              } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
@@ -4747,8 +4810,9 @@ public class THBaseService {
           oprot.writeFieldBegin(TGETS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tgets.size()));
-            for (TGet _iter135 : struct.tgets) {
-              _iter135.write(oprot);
+            for (TGet _iter145 : struct.tgets)
+            {
+              _iter145.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -4774,8 +4838,9 @@ public class THBaseService {
         oprot.writeBinary(struct.table);
         {
           oprot.writeI32(struct.tgets.size());
-          for (TGet _iter136 : struct.tgets) {
-            _iter136.write(oprot);
+          for (TGet _iter146 : struct.tgets)
+          {
+            _iter146.write(oprot);
           }
         }
       }
@@ -4786,13 +4851,14 @@ public class THBaseService {
         struct.table = iprot.readBinary();
         struct.setTableIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list137 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.tgets = new ArrayList<TGet>(_list137.size);
-          for (int _i138 = 0; _i138 < _list137.size; ++_i138) {
-            TGet _elem139; // required
-            _elem139 = new TGet();
-            _elem139.read(iprot);
-            struct.tgets.add(_elem139);
+          org.apache.thrift.protocol.TList _list147 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.tgets = new ArrayList<TGet>(_list147.size);
+          TGet _elem148;
+          for (int _i149 = 0; _i149 < _list147.size; ++_i149)
+          {
+            _elem148 = new TGet();
+            _elem148.read(iprot);
+            struct.tgets.add(_elem148);
           }
         }
         struct.setTgetsIsSet(true);
@@ -4801,14 +4867,13 @@ public class THBaseService {
 
   }
 
-  public static class existsAll_result implements org.apache.thrift.TBase<existsAll_result, existsAll_result._Fields>, java.io.Serializable, Cloneable {
+  public static class existsAll_result implements org.apache.thrift.TBase<existsAll_result, existsAll_result._Fields>, java.io.Serializable, Cloneable, Comparable<existsAll_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("existsAll_result");
 
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short) 0);
-    private static final org.apache.thrift.protocol.TField IO_FIELD_DESC = new org.apache.thrift.protocol.TField("io", org.apache.thrift.protocol.TType.STRUCT, (short) 1);
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
+    private static final org.apache.thrift.protocol.TField IO_FIELD_DESC = new org.apache.thrift.protocol.TField("io", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-
     static {
       schemes.put(StandardScheme.class, new existsAll_resultStandardSchemeFactory());
       schemes.put(TupleScheme.class, new existsAll_resultTupleSchemeFactory());
@@ -4817,12 +4882,10 @@ public class THBaseService {
     public List<Boolean> success; // required
     public TIOError io; // required
 
-    /**
-     * The set of fields this struct contains, along with convenience methods for finding and manipulating them.
-     */
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short) 0, "success"),
-      IO((short) 1, "io");
+      SUCCESS((short)0, "success"),
+      IO((short)1, "io");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -4836,7 +4899,7 @@ public class THBaseService {
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
       public static _Fields findByThriftId(int fieldId) {
-        switch (fieldId) {
+        switch(fieldId) {
           case 0: // SUCCESS
             return SUCCESS;
           case 1: // IO
@@ -4882,14 +4945,13 @@ public class THBaseService {
 
     // 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.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT,
-              new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
-                      new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))));
-      tmpMap.put(_Fields.IO, new org.apache.thrift.meta_data.FieldMetaData("io", org.apache.thrift.TFieldRequirementType.DEFAULT,
-              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
+      tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))));
+      tmpMap.put(_Fields.IO, new org.apache.thrift.meta_data.FieldMetaData("io", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(existsAll_result.class, metaDataMap);
     }
@@ -4898,8 +4960,9 @@ public class THBaseService {
     }
 
     public existsAll_result(
-            List<Boolean> success,
-            TIOError io) {
+      List<Boolean> success,
+      TIOError io)
+    {
       this();
       this.success = success;
       this.io = io;
@@ -4910,10 +4973,7 @@ public class THBaseService {
      */
     public existsAll_result(existsAll_result other) {
       if (other.isSetSuccess()) {
-        List<Boolean> __this__success = new ArrayList<Boolean>();
-        for (Boolean other_element : other.success) {
-          __this__success.add(other_element);
-        }
+        List<Boolean> __this__success = new ArrayList<Boolean>(other.success);
         this.success = __this__success;
       }
       if (other.isSetIo()) {
@@ -4959,9 +5019,7 @@ public class THBaseService {
       this.success = null;
     }
 
-    /**
-     * Returns true if field success is set (has been assigned a value) and false otherwise
-     */
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
     public boolean isSetSuccess() {
       return this.success != null;
     }
@@ -4985,9 +5043,7 @@ public class THBaseService {
       this.io = null;
     }
 
-    /**
-     * Returns true if field io is set (has been assigned a value) and false otherwise
-     */
+    /** Returns true if field io is set (has been assigned a value) and false otherwise */
     public boolean isSetIo() {
       return this.io != null;
     }
@@ -5000,50 +5056,48 @@ public class THBaseService {
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
-        case SUCCESS:
-          if (value == null) {
-            unsetSuccess();
-          } else {
-            setSuccess((List<Boolean>) value);
-          }
-          break;
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((List<Boolean>)value);
+        }
+        break;
 
-        case IO:
-          if (value == null) {
-            unsetIo();
-          } else {
-            setIo((TIOError) value);
-          }
-          break;
+      case IO:
+        if (value == null) {
+          unsetIo();
+        } else {
+          setIo((TIOError)value);
+        }
+        break;
 
       }
     }
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
-        case SUCCESS:
-          return getSuccess();
+      case SUCCESS:
+        return getSuccess();
 
-        case IO:
-          return getIo();
+      case IO:
+        return getIo();
 
       }
       throw new IllegalStateException();
     }
 
-    /**
-     * Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise
-     */
+    /** 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 SUCCESS:
-          return isSetSuccess();
-        case IO:
-          return isSetIo();
+      case SUCCESS:
+        return isSetSuccess();
+      case IO:
+        return isSetIo();
       }
       throw new IllegalStateException();
     }
@@ -5053,7 +5107,7 @@ public class THBaseService {
       if (that == null)
         return false;
       if (that instanceof existsAll_result)
-        return this.equals((existsAll_result) that);
+        return this.equals((existsAll_result)that);
       return false;
     }
 
@@ -5084,33 +5138,45 @@ public class THBaseService {
 
     @Override
     public int hashCode() {
-      return 0;
+      List<Object> list = new ArrayList<Object>();
+
+      boolean present_success = true && (isSetSuccess());
+      list.add(present_success);
+      if (present_success)
+        list.add(success);
+
+      boolean present_io = true && (isSetIo());
+      list.add(present_io);
+      if (present_io)
+        list.add(io);
+
+      return list.hashCode();
     }
 
+    @Override
     public int compareTo(existsAll_result other) {
       if (!getClass().equals(other.getClass())) {
         return getClass().getName().compareTo(other.getClass().getName());
       }
 
       int lastComparison = 0;
-      existsAll_result typedOther = (existsAll_result) other;
 
-      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(typedOther.isSetSuccess());
+      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
       if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, typedOther.success);
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success);
         if (lastComparison != 0) {
           return lastComparison;
         }
       }
-      lastComparison = Boolean.valueOf(isSetIo()).compareTo(typedOther.isSetIo());
+      lastComparison = Boolean.valueOf(isSetIo()).compareTo(other.isSetIo());
       if (lastComparison != 0) {
         return lastComparison;
       }
       if (isSetIo()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.io, typedOther.io);
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.io, other.io);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -5128,7 +5194,7 @@ public class THBaseService {
 
     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() {
@@ -5186,26 +5252,28 @@ public class THBaseService {
       public void read(org.apache.thrift.protocol.TProtocol iprot, existsAll_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
-        while (true) {
+        while (true)
+        {
           schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {
+          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
             break;
           }
           switch (schemeField.id) {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list140 = iprot.readListBegin();
-                  struct.success = new ArrayList<Boolean>(_list140.size);
-                  for (int _i141 = 0; _i141 < _list140.size; ++_i141) {
-                    boolean _elem142; // required
-                    _elem142 = iprot.readBool();
-                    struct.success.add(_elem142);
+                  org.apache.thrift.protocol.TList _list150 = iprot.readListBegin();
+                  struct.success = new ArrayList<Boolean>(_list150.size);
+                  boolean _elem151;
+                  for (int _i152 = 0; _i152 < _list150.size; ++_i152)
+                  {
+                    _elem151 = iprot.readBool();
+                    struct.success.add(_elem151);
                   }
                   iprot.readListEnd();
                 }
                 struct.setSuccessIsSet(true);
-              } else {
+              } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
@@ -5214,7 +5282,7 @@ public class THBaseService {
                 struct.io = new TIOError();
                 struct.io.read(iprot);
                 struct.setIoIsSet(true);
-              } else {
+              } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
@@ -5237,8 +5305,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.BOOL, struct.success.size()));
-            for (boolean _iter143 : struct.success) {
-              oprot.writeBool(_iter143);
+            for (boolean _iter153 : struct.success)
+            {
+              oprot.writeBool(_iter153);
             }
             oprot.writeListEnd();
           }
@@ -5277,8 +5346,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (boolean _iter144 : struct.success) {
-              oprot.writeBool(_iter144);
+            for (boolean _iter154 : struct.success)
+            {
+              oprot.writeBool(_iter154);
             }
           }
         }
@@ -5293,12 +5363,13 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list145 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.BOOL, iprot.readI32());
-            struct.success = new ArrayList<Boolean>(_list145.size);
-            for (int _i146 = 0; _i146 < _list145.size; ++_i146) {
-              boolean _elem147; // required
-              _elem147 = iprot.readBool();
-              struct.success.add(_elem147);
+            org.apache.thrift.protocol.TList _list155 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.BOOL, iprot.readI32());
+            struct.success = new ArrayList<Boolean>(_list155.size);
+            boolean _elem156;
+            for (int _i157 = 0; _i157 < _list155.size; ++_i157)
+            {
+              _elem156 = iprot.readBool();
+              struct.success.add(_elem156);
             }
           }
           struct.setSuccessIsSet(true);
@@ -6734,14 +6805,14 @@ public class THBaseService {
             case 2: // TGETS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list132 = iprot.readListBegin();
-                  struct.tgets = new ArrayList<TGet>(_list132.size);
-                  TGet _elem133;
-                  for (int _i134 = 0; _i134 < _list132.size; ++_i134)
+                  org.apache.thrift.protocol.TList _list158 = iprot.readListBegin();
+                  struct.tgets = new ArrayList<TGet>(_list158.size);
+                  TGet _elem159;
+                  for (int _i160 = 0; _i160 < _list158.size; ++_i160)
                   {
-                    _elem133 = new TGet();
-                    _elem133.read(iprot);
-                    struct.tgets.add(_elem133);
+                    _elem159 = new TGet();
+                    _elem159.read(iprot);
+                    struct.tgets.add(_elem159);
                   }
                   iprot.readListEnd();
                 }
@@ -6774,9 +6845,9 @@ public class THBaseService {
           oprot.writeFieldBegin(TGETS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tgets.size()));
-            for (TGet _iter135 : struct.tgets)
+            for (TGet _iter161 : struct.tgets)
             {
-              _iter135.write(oprot);
+              _iter161.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -6802,9 +6873,9 @@ public class THBaseService {
         oprot.writeBinary(struct.table);
         {
           oprot.writeI32(struct.tgets.size());
-          for (TGet _iter136 : struct.tgets)
+          for (TGet _iter162 : struct.tgets)
           {
-            _iter136.write(oprot);
+            _iter162.write(oprot);
           }
         }
       }
@@ -6815,14 +6886,14 @@ public class THBaseService {
         struct.table = iprot.readBinary();
         struct.setTableIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list137 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.tgets = new ArrayList<TGet>(_list137.size);
-          TGet _elem138;
-          for (int _i139 = 0; _i139 < _list137.size; ++_i139)
+          org.apache.thrift.protocol.TList _list163 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.tgets = new ArrayList<TGet>(_list163.size);
+          TGet _elem164;
+          for (int _i165 = 0; _i165 < _list163.size; ++_i165)
           {
-            _elem138 = new TGet();
-            _elem138.read(iprot);
-            struct.tgets.add(_elem138);
+            _elem164 = new TGet();
+            _elem164.read(iprot);
+            struct.tgets.add(_elem164);
           }
         }
         struct.setTgetsIsSet(true);
@@ -7229,14 +7300,14 @@ public class THBaseService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list140 = iprot.readListBegin();
-                  struct.success = new ArrayList<TResult>(_list140.size);
-                  TResult _elem141;
-                  for (int _i142 = 0; _i142 < _list140.size; ++_i142)
+                  org.apache.thrift.protocol.TList _list166 = iprot.readListBegin();
+                  struct.success = new ArrayList<TResult>(_list166.size);
+                  TResult _elem167;
+                  for (int _i168 = 0; _i168 < _list166.size; ++_i168)
                   {
-                    _elem141 = new TResult();
-                    _elem141.read(iprot);
-                    struct.success.add(_elem141);
+                    _elem167 = new TResult();
+                    _elem167.read(iprot);
+                    struct.success.add(_elem167);
                   }
                   iprot.readListEnd();
                 }
@@ -7273,9 +7344,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (TResult _iter143 : struct.success)
+            for (TResult _iter169 : struct.success)
             {
-              _iter143.write(oprot);
+              _iter169.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -7314,9 +7385,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (TResult _iter144 : struct.success)
+            for (TResult _iter170 : struct.success)
             {
-              _iter144.write(oprot);
+              _iter170.write(oprot);
             }
           }
         }
@@ -7331,14 +7402,14 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list145 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<TResult>(_list145.size);
-            TResult _elem146;
-            for (int _i147 = 0; _i147 < _list145.size; ++_i147)
+            org.apache.thrift.protocol.TList _list171 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<TResult>(_list171.size);
+            TResult _elem172;
+            for (int _i173 = 0; _i173 < _list171.size; ++_i173)
             {
-              _elem146 = new TResult();
-              _elem146.read(iprot);
-              struct.success.add(_elem146);
+              _elem172 = new TResult();
+              _elem172.read(iprot);
+              struct.success.add(_elem172);
             }
           }
           struct.setSuccessIsSet(true);
@@ -10125,14 +10196,14 @@ public class THBaseService {
             case 2: // TPUTS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list148 = iprot.readListBegin();
-                  struct.tputs = new ArrayList<TPut>(_list148.size);
-                  TPut _elem149;
-                  for (int _i150 = 0; _i150 < _list148.size; ++_i150)
+                  org.apache.thrift.protocol.TList _list174 = iprot.readListBegin();
+                  struct.tputs = new ArrayList<TPut>(_list174.size);
+                  TPut _elem175;
+                  for (int _i176 = 0; _i176 < _list174.size; ++_i176)
                   {
-                    _elem149 = new TPut();
-                    _elem149.read(iprot);
-                    struct.tputs.add(_elem149);
+                    _elem175 = new TPut();
+                    _elem175.read(iprot);
+                    struct.tputs.add(_elem175);
                   }
                   iprot.readListEnd();
                 }
@@ -10165,9 +10236,9 @@ public class THBaseService {
           oprot.writeFieldBegin(TPUTS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tputs.size()));
-            for (TPut _iter151 : struct.tputs)
+            for (TPut _iter177 : struct.tputs)
             {
-              _iter151.write(oprot);
+              _iter177.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -10193,9 +10264,9 @@ public class THBaseService {
         oprot.writeBinary(struct.table);
         {
           oprot.writeI32(struct.tputs.size());
-          for (TPut _iter152 : struct.tputs)
+          for (TPut _iter178 : struct.tputs)
           {
-            _iter152.write(oprot);
+            _iter178.write(oprot);
           }
         }
       }
@@ -10206,14 +10277,14 @@ public class THBaseService {
         struct.table = iprot.readBinary();
         struct.setTableIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list153 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.tputs = new ArrayList<TPut>(_list153.size);
-          TPut _elem154;
-          for (int _i155 = 0; _i155 < _list153.size; ++_i155)
+          org.apache.thrift.protocol.TList _list179 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.tputs = new ArrayList<TPut>(_list179.size);
+          TPut _elem180;
+          for (int _i181 = 0; _i181 < _list179.size; ++_i181)
           {
-            _elem154 = new TPut();
-            _elem154.read(iprot);
-            struct.tputs.add(_elem154);
+            _elem180 = new TPut();
+            _elem180.read(iprot);
+            struct.tputs.add(_elem180);
           }
         }
         struct.setTputsIsSet(true);
@@ -11888,14 +11959,14 @@ public class THBaseService {
             case 2: // TDELETES
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list156 = iprot.readListBegin();
-                  struct.tdeletes = new ArrayList<TDelete>(_list156.size);
-                  TDelete _elem157;
-                  for (int _i158 = 0; _i158 < _list156.size; ++_i158)
+                  org.apache.thrift.protocol.TList _list182 = iprot.readListBegin();
+                  struct.tdeletes = new ArrayList<TDelete>(_list182.size);
+                  TDelete _elem183;
+                  for (int _i184 = 0; _i184 < _list182.size; ++_i184)
                   {
-                    _elem157 = new TDelete();
-                    _elem157.read(iprot);
-                    struct.tdeletes.add(_elem157);
+                    _elem183 = new TDelete();
+                    _elem183.read(iprot);
+                    struct.tdeletes.add(_elem183);
                   }
                   iprot.readListEnd();
                 }
@@ -11928,9 +11999,9 @@ public class THBaseService {
           oprot.writeFieldBegin(TDELETES_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.tdeletes.size()));
-            for (TDelete _iter159 : struct.tdeletes)
+            for (TDelete _iter185 : struct.tdeletes)
             {
-              _iter159.write(oprot);
+              _iter185.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -11956,9 +12027,9 @@ public class THBaseService {
         oprot.writeBinary(struct.table);
         {
           oprot.writeI32(struct.tdeletes.size());
-          for (TDelete _iter160 : struct.tdeletes)
+          for (TDelete _iter186 : struct.tdeletes)
           {
-            _iter160.write(oprot);
+            _iter186.write(oprot);
           }
         }
       }
@@ -11969,14 +12040,14 @@ public class THBaseService {
         struct.table = iprot.readBinary();
         struct.setTableIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list161 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.tdeletes = new ArrayList<TDelete>(_list161.size);
-          TDelete _elem162;
-          for (int _i163 = 0; _i163 < _list161.size; ++_i163)
+          org.apache.thrift.protocol.TList _list187 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          struct.tdeletes = new ArrayList<TDelete>(_list187.size);
+          TDelete _elem188;
+          for (int _i189 = 0; _i189 < _list187.size; ++_i189)
           {
-            _elem162 = new TDelete();
-            _elem162.read(iprot);
-            struct.tdeletes.add(_elem162);
+            _elem188 = new TDelete();
+            _elem188.read(iprot);
+            struct.tdeletes.add(_elem188);
           }
         }
         struct.setTdeletesIsSet(true);
@@ -12383,14 +12454,14 @@ public class THBaseService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list164 = iprot.readListBegin();
-                  struct.success = new ArrayList<TDelete>(_list164.size);
-                  TDelete _elem165;
-                  for (int _i166 = 0; _i166 < _list164.size; ++_i166)
+                  org.apache.thrift.protocol.TList _list190 = iprot.readListBegin();
+                  struct.success = new ArrayList<TDelete>(_list190.size);
+                  TDelete _elem191;
+                  for (int _i192 = 0; _i192 < _list190.size; ++_i192)
                   {
-                    _elem165 = new TDelete();
-                    _elem165.read(iprot);
-                    struct.success.add(_elem165);
+                    _elem191 = new TDelete();
+                    _elem191.read(iprot);
+                    struct.success.add(_elem191);
                   }
                   iprot.readListEnd();
                 }
@@ -12427,9 +12498,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (TDelete _iter167 : struct.success)
+            for (TDelete _iter193 : struct.success)
             {
-              _iter167.write(oprot);
+              _iter193.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -12468,9 +12539,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (TDelete _iter168 : struct.success)
+            for (TDelete _iter194 : struct.success)
             {
-              _iter168.write(oprot);
+              _iter194.write(oprot);
             }
           }
         }
@@ -12485,14 +12556,14 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list169 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<TDelete>(_list169.size);
-            TDelete _elem170;
-            for (int _i171 = 0; _i171 < _list169.size; ++_i171)
+            org.apache.thrift.protocol.TList _list195 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<TDelete>(_list195.size);
+            TDelete _elem196;
+            for (int _i197 = 0; _i197 < _list195.size; ++_i197)
             {
-              _elem170 = new TDelete();
-              _elem170.read(iprot);
-              struct.success.add(_elem170);
+              _elem196 = new TDelete();
+              _elem196.read(iprot);
+              struct.success.add(_elem196);
             }
           }
           struct.setSuccessIsSet(true);
@@ -17845,14 +17916,14 @@ public class THBaseService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list172 = iprot.readListBegin();
-                  struct.success = new ArrayList<TResult>(_list172.size);
-                  TResult _elem173;
-                  for (int _i174 = 0; _i174 < _list172.size; ++_i174)
+                  org.apache.thrift.protocol.TList _list198 = iprot.readListBegin();
+                  struct.success = new ArrayList<TResult>(_list198.size);
+                  TResult _elem199;
+                  for (int _i200 = 0; _i200 < _list198.size; ++_i200)
                   {
-                    _elem173 = new TResult();
-                    _elem173.read(iprot);
-                    struct.success.add(_elem173);
+                    _elem199 = new TResult();
+                    _elem199.read(iprot);
+                    struct.success.add(_elem199);
                   }
                   iprot.readListEnd();
                 }
@@ -17898,9 +17969,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (TResult _iter175 : struct.success)
+            for (TResult _iter201 : struct.success)
             {
-              _iter175.write(oprot);
+              _iter201.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -17947,9 +18018,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (TResult _iter176 : struct.success)
+            for (TResult _iter202 : struct.success)
             {
-              _iter176.write(oprot);
+              _iter202.write(oprot);
             }
           }
         }
@@ -17967,14 +18038,14 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list177 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<TResult>(_list177.size);
-            TResult _elem178;
-            for (int _i179 = 0; _i179 < _list177.size; ++_i179)
+            org.apache.thrift.protocol.TList _list203 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<TResult>(_list203.size);
+            TResult _elem204;
+            for (int _i205 = 0; _i205 < _list203.size; ++_i205)
             {
-              _elem178 = new TResult();
-              _elem178.read(iprot);
-              struct.success.add(_elem178);
+              _elem204 = new TResult();
+              _elem204.read(iprot);
+              struct.success.add(_elem204);
             }
           }
           struct.setSuccessIsSet(true);
@@ -20710,14 +20781,14 @@ public class THBaseService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list180 = iprot.readListBegin();
-                  struct.success = new ArrayList<TResult>(_list180.size);
-                  TResult _elem181;
-                  for (int _i182 = 0; _i182 < _list180.size; ++_i182)
+                  org.apache.thrift.protocol.TList _list206 = iprot.readListBegin();
+                  struct.success = new ArrayList<TResult>(_list206.size);
+                  TResult _elem207;
+                  for (int _i208 = 0; _i208 < _list206.size; ++_i208)
                   {
-                    _elem181 = new TResult();
-                    _elem181.read(iprot);
-                    struct.success.add(_elem181);
+                    _elem207 = new TResult();
+                    _elem207.read(iprot);
+                    struct.success.add(_elem207);
                   }
                   iprot.readListEnd();
                 }
@@ -20754,9 +20825,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (TResult _iter183 : struct.success)
+            for (TResult _iter209 : struct.success)
             {
-              _iter183.write(oprot);
+              _iter209.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -20795,9 +20866,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (TResult _iter184 : struct.success)
+            for (TResult _iter210 : struct.success)
             {
-              _iter184.write(oprot);
+              _iter210.write(oprot);
             }
           }
         }
@@ -20812,14 +20883,14 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list185 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<TResult>(_list185.size);
-            TResult _elem186;
-            for (int _i187 = 0; _i187 < _list185.size; ++_i187)
+            org.apache.thrift.protocol.TList _list211 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<TResult>(_list211.size);
+            TResult _elem212;
+            for (int _i213 = 0; _i213 < _list211.size; ++_i213)
             {
-              _elem186 = new TResult();
-              _elem186.read(iprot);
-              struct.success.add(_elem186);
+              _elem212 = new TResult();
+              _elem212.read(iprot);
+              struct.success.add(_elem212);
             }
           }
           struct.setSuccessIsSet(true);
@@ -22650,14 +22721,14 @@ public class THBaseService {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list188 = iprot.readListBegin();
-                  struct.success = new ArrayList<THRegionLocation>(_list188.size);
-                  THRegionLocation _elem189;
-                  for (int _i190 = 0; _i190 < _list188.size; ++_i190)
+                  org.apache.thrift.protocol.TList _list214 = iprot.readListBegin();
+                  struct.success = new ArrayList<THRegionLocation>(_list214.size);
+                  THRegionLocation _elem215;
+                  for (int _i216 = 0; _i216 < _list214.size; ++_i216)
                   {
-                    _elem189 = new THRegionLocation();
-                    _elem189.read(iprot);
-                    struct.success.add(_elem189);
+                    _elem215 = new THRegionLocation();
+                    _elem215.read(iprot);
+                    struct.success.add(_elem215);
                   }
                   iprot.readListEnd();
                 }
@@ -22694,9 +22765,9 @@ public class THBaseService {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (THRegionLocation _iter191 : struct.success)
+            for (THRegionLocation _iter217 : struct.success)
             {
-              _iter191.write(oprot);
+              _iter217.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -22735,9 +22806,9 @@ public class THBaseService {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (THRegionLocation _iter192 : struct.success)
+            for (THRegionLocation _iter218 : struct.success)
             {
-              _iter192.write(oprot);
+              _iter218.write(oprot);
             }
           }
         }
@@ -22752,14 +22823,14 @@ public class THBaseService {
         BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list193 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new ArrayList<THRegionLocation>(_list193.size);
-            THRegionLocation _elem194;
-            for (int _i195 = 0; _i195 < _list193.size; ++_i195)
+            org.apache.thrift.protocol.TList _list219 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new ArrayList<THRegionLocation>(_list219.size);
+            THRegionLocation _elem220;
+            for (int _i221 = 0; _i221 < _list219.size; ++_i221)
             {
-              _elem194 = new THRegionLocation();
-              _elem194.read(iprot);
-              struct.success.add(_elem194);
+              _elem220 = new THRegionLocation();
+              _elem220.read(iprot);
+              struct.success.add(_elem220);
             }
           }
           struct.setSuccessIsSet(true);