You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2019/01/29 13:02:01 UTC

[hbase] branch branch-2.0 updated: HBASE-21791 Upgrade thrift dependency to 0.12.0

This is an automated email from the ASF dual-hosted git repository.

zhangduo pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new 1f2241d  HBASE-21791 Upgrade thrift dependency to 0.12.0
1f2241d is described below

commit 1f2241d71422cb615e0487ebec7b760f96854f8f
Author: zhangduo <zh...@apache.org>
AuthorDate: Mon Jan 28 20:17:35 2019 +0800

    HBASE-21791 Upgrade thrift dependency to 0.12.0
---
 .../hbase/thrift/generated/AlreadyExists.java      |   133 +-
 .../hbase/thrift/generated/BatchMutation.java      |   171 +-
 .../hbase/thrift/generated/ColumnDescriptor.java   |   268 +-
 .../hadoop/hbase/thrift/generated/Hbase.java       | 16481 ++++++++++---------
 .../hadoop/hbase/thrift/generated/IOError.java     |   133 +-
 .../hbase/thrift/generated/IllegalArgument.java    |   133 +-
 .../hadoop/hbase/thrift/generated/Mutation.java    |   195 +-
 .../hadoop/hbase/thrift/generated/TAppend.java     |   255 +-
 .../hadoop/hbase/thrift/generated/TCell.java       |   153 +-
 .../hadoop/hbase/thrift/generated/TColumn.java     |   152 +-
 .../hadoop/hbase/thrift/generated/TIncrement.java  |   207 +-
 .../hadoop/hbase/thrift/generated/TRegionInfo.java |   264 +-
 .../hadoop/hbase/thrift/generated/TRowResult.java  |   215 +-
 .../hadoop/hbase/thrift/generated/TScan.java       |   331 +-
 .../hadoop/hbase/thrift2/generated/TAppend.java    |   237 +-
 .../hbase/thrift2/generated/TAuthorization.java    |   150 +-
 .../hbase/thrift2/generated/TCellVisibility.java   |   129 +-
 .../hadoop/hbase/thrift2/generated/TColumn.java    |   176 +-
 .../hbase/thrift2/generated/TColumnIncrement.java  |   178 +-
 .../hbase/thrift2/generated/TColumnValue.java      |   226 +-
 .../hadoop/hbase/thrift2/generated/TCompareOp.java |     8 +-
 .../hadoop/hbase/thrift2/generated/TDelete.java    |   266 +-
 .../hbase/thrift2/generated/TDeleteType.java       |     8 +-
 .../hbase/thrift2/generated/TDurability.java       |     8 +-
 .../hadoop/hbase/thrift2/generated/TGet.java       |   292 +-
 .../hbase/thrift2/generated/THBaseService.java     |  7029 ++++----
 .../hbase/thrift2/generated/THRegionInfo.java      |   248 +-
 .../hbase/thrift2/generated/THRegionLocation.java  |   135 +-
 .../hadoop/hbase/thrift2/generated/TIOError.java   |   131 +-
 .../hbase/thrift2/generated/TIllegalArgument.java  |   131 +-
 .../hadoop/hbase/thrift2/generated/TIncrement.java |   237 +-
 .../hadoop/hbase/thrift2/generated/TMutation.java  |   101 +-
 .../hadoop/hbase/thrift2/generated/TPut.java       |   268 +-
 .../hadoop/hbase/thrift2/generated/TReadType.java  |     8 +-
 .../hadoop/hbase/thrift2/generated/TResult.java    |   167 +-
 .../hbase/thrift2/generated/TRowMutations.java     |   193 +-
 .../hadoop/hbase/thrift2/generated/TScan.java      |   473 +-
 .../hbase/thrift2/generated/TServerName.java       |   165 +-
 .../hadoop/hbase/thrift2/generated/TTimeRange.java |   137 +-
 pom.xml                                            |     2 +-
 40 files changed, 15694 insertions(+), 14500 deletions(-)

diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java
index 68361c1..714e91c 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java
@@ -1,65 +1,35 @@
 /**
- * Autogenerated by Thrift Compiler (0.9.3)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.hadoop.hbase.thrift.generated;
 
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * An AlreadyExists exceptions signals that a table with the specified
  * name already exists
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
-public class AlreadyExists extends TException implements org.apache.thrift.TBase<AlreadyExists, AlreadyExists._Fields>, java.io.Serializable, Cloneable, Comparable<AlreadyExists> {
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.12.0)", date = "2019-01-28")
+public class AlreadyExists extends org.apache.thrift.TException implements org.apache.thrift.TBase<AlreadyExists, AlreadyExists._Fields>, java.io.Serializable, Cloneable, Comparable<AlreadyExists> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AlreadyExists");
 
   private static final org.apache.thrift.protocol.TField MESSAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("message", org.apache.thrift.protocol.TType.STRING, (short)1);
 
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new AlreadyExistsStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new AlreadyExistsTupleSchemeFactory());
-  }
+  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new AlreadyExistsStandardSchemeFactory();
+  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new AlreadyExistsTupleSchemeFactory();
 
-  public String message; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String message; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
     MESSAGE((short)1, "message");
 
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+    private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
     static {
-      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+      for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
         byName.put(field.getFieldName(), field);
       }
     }
@@ -67,6 +37,7 @@ public class AlreadyExists extends TException implements org.apache.thrift.TBase
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MESSAGE
@@ -82,21 +53,22 @@ public class AlreadyExists extends TException implements org.apache.thrift.TBase
      */
     public static _Fields findByThriftIdOrThrow(int fieldId) {
       _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
       return fields;
     }
 
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
-    public static _Fields findByName(String name) {
+    @org.apache.thrift.annotation.Nullable
+    public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
 
     private final short _thriftId;
-    private final String _fieldName;
+    private final java.lang.String _fieldName;
 
-    _Fields(short thriftId, String fieldName) {
+    _Fields(short thriftId, java.lang.String fieldName) {
       _thriftId = thriftId;
       _fieldName = fieldName;
     }
@@ -105,18 +77,18 @@ public class AlreadyExists extends TException implements org.apache.thrift.TBase
       return _thriftId;
     }
 
-    public String getFieldName() {
+    public java.lang.String getFieldName() {
       return _fieldName;
     }
   }
 
   // isset id assignments
-  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  public static final java.util.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);
+    java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
     tmpMap.put(_Fields.MESSAGE, new org.apache.thrift.meta_data.FieldMetaData("message", org.apache.thrift.TFieldRequirementType.DEFAULT, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(AlreadyExists.class, metaDataMap);
   }
 
@@ -124,7 +96,7 @@ public class AlreadyExists extends TException implements org.apache.thrift.TBase
   }
 
   public AlreadyExists(
-    String message)
+    java.lang.String message)
   {
     this();
     this.message = message;
@@ -148,11 +120,12 @@ public class AlreadyExists extends TException implements org.apache.thrift.TBase
     this.message = null;
   }
 
-  public String getMessage() {
+  @org.apache.thrift.annotation.Nullable
+  public java.lang.String getMessage() {
     return this.message;
   }
 
-  public AlreadyExists setMessage(String message) {
+  public AlreadyExists setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
     return this;
   }
@@ -172,43 +145,44 @@ public class AlreadyExists extends TException implements org.apache.thrift.TBase
     }
   }
 
-  public void setFieldValue(_Fields field, Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MESSAGE:
       if (value == null) {
         unsetMessage();
       } else {
-        setMessage((String)value);
+        setMessage((java.lang.String)value);
       }
       break;
 
     }
   }
 
-  public Object getFieldValue(_Fields field) {
+  @org.apache.thrift.annotation.Nullable
+  public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MESSAGE:
       return getMessage();
 
     }
-    throw new IllegalStateException();
+    throw new java.lang.IllegalStateException();
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
   public boolean isSet(_Fields field) {
     if (field == null) {
-      throw new IllegalArgumentException();
+      throw new java.lang.IllegalArgumentException();
     }
 
     switch (field) {
     case MESSAGE:
       return isSetMessage();
     }
-    throw new IllegalStateException();
+    throw new java.lang.IllegalStateException();
   }
 
   @Override
-  public boolean equals(Object that) {
+  public boolean equals(java.lang.Object that) {
     if (that == null)
       return false;
     if (that instanceof AlreadyExists)
@@ -219,6 +193,8 @@ public class AlreadyExists extends TException implements org.apache.thrift.TBase
   public boolean equals(AlreadyExists that) {
     if (that == null)
       return false;
+    if (this == that)
+      return true;
 
     boolean this_present_message = true && this.isSetMessage();
     boolean that_present_message = true && that.isSetMessage();
@@ -234,14 +210,13 @@ public class AlreadyExists extends TException implements org.apache.thrift.TBase
 
   @Override
   public int hashCode() {
-    List<Object> list = new ArrayList<Object>();
+    int hashCode = 1;
 
-    boolean present_message = true && (isSetMessage());
-    list.add(present_message);
-    if (present_message)
-      list.add(message);
+    hashCode = hashCode * 8191 + ((isSetMessage()) ? 131071 : 524287);
+    if (isSetMessage())
+      hashCode = hashCode * 8191 + message.hashCode();
 
-    return list.hashCode();
+    return hashCode;
   }
 
   @Override
@@ -252,7 +227,7 @@ public class AlreadyExists extends TException implements org.apache.thrift.TBase
 
     int lastComparison = 0;
 
-    lastComparison = Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -265,21 +240,22 @@ public class AlreadyExists extends TException implements org.apache.thrift.TBase
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    scheme(iprot).read(iprot, this);
   }
 
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+    scheme(oprot).write(oprot, this);
   }
 
   @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder("AlreadyExists(");
+  public java.lang.String toString() {
+    java.lang.StringBuilder sb = new java.lang.StringBuilder("AlreadyExists(");
     boolean first = true;
 
     sb.append("message:");
@@ -306,7 +282,7 @@ public class AlreadyExists extends TException implements org.apache.thrift.TBase
     }
   }
 
-  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
     try {
       read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
     } catch (org.apache.thrift.TException te) {
@@ -314,13 +290,13 @@ public class AlreadyExists extends TException implements org.apache.thrift.TBase
     }
   }
 
-  private static class AlreadyExistsStandardSchemeFactory implements SchemeFactory {
+  private static class AlreadyExistsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
     public AlreadyExistsStandardScheme getScheme() {
       return new AlreadyExistsStandardScheme();
     }
   }
 
-  private static class AlreadyExistsStandardScheme extends StandardScheme<AlreadyExists> {
+  private static class AlreadyExistsStandardScheme extends org.apache.thrift.scheme.StandardScheme<AlreadyExists> {
 
     public void read(org.apache.thrift.protocol.TProtocol iprot, AlreadyExists struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
@@ -366,18 +342,18 @@ public class AlreadyExists extends TException implements org.apache.thrift.TBase
 
   }
 
-  private static class AlreadyExistsTupleSchemeFactory implements SchemeFactory {
+  private static class AlreadyExistsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
     public AlreadyExistsTupleScheme getScheme() {
       return new AlreadyExistsTupleScheme();
     }
   }
 
-  private static class AlreadyExistsTupleScheme extends TupleScheme<AlreadyExists> {
+  private static class AlreadyExistsTupleScheme extends org.apache.thrift.scheme.TupleScheme<AlreadyExists> {
 
     @Override
     public void write(org.apache.thrift.protocol.TProtocol prot, AlreadyExists struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      BitSet optionals = new BitSet();
+      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+      java.util.BitSet optionals = new java.util.BitSet();
       if (struct.isSetMessage()) {
         optionals.set(0);
       }
@@ -389,8 +365,8 @@ public class AlreadyExists extends TException implements org.apache.thrift.TBase
 
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, AlreadyExists struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(1);
+      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+      java.util.BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         struct.message = iprot.readString();
         struct.setMessageIsSet(true);
@@ -398,5 +374,8 @@ public class AlreadyExists extends TException implements org.apache.thrift.TBase
     }
   }
 
+  private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+    return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+  }
 }
 
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java
index a2920ea..73134ed 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java
@@ -1,67 +1,37 @@
 /**
- * Autogenerated by Thrift Compiler (0.9.3)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.hadoop.hbase.thrift.generated;
 
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * A BatchMutation object is used to apply a number of Mutations to a single row.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.12.0)", date = "2019-01-28")
 public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, BatchMutation._Fields>, java.io.Serializable, Cloneable, Comparable<BatchMutation> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BatchMutation");
 
   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 MUTATIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("mutations", 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 BatchMutationStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new BatchMutationTupleSchemeFactory());
-  }
+  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new BatchMutationStandardSchemeFactory();
+  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new BatchMutationTupleSchemeFactory();
 
-  public ByteBuffer row; // required
-  public List<Mutation> mutations; // required
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer row; // required
+  public @org.apache.thrift.annotation.Nullable java.util.List<Mutation> mutations; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
     ROW((short)1, "row"),
     MUTATIONS((short)2, "mutations");
 
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+    private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
     static {
-      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+      for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
         byName.put(field.getFieldName(), field);
       }
     }
@@ -69,6 +39,7 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ROW
@@ -86,21 +57,22 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
      */
     public static _Fields findByThriftIdOrThrow(int fieldId) {
       _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
       return fields;
     }
 
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
-    public static _Fields findByName(String name) {
+    @org.apache.thrift.annotation.Nullable
+    public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
 
     private final short _thriftId;
-    private final String _fieldName;
+    private final java.lang.String _fieldName;
 
-    _Fields(short thriftId, String fieldName) {
+    _Fields(short thriftId, java.lang.String fieldName) {
       _thriftId = thriftId;
       _fieldName = fieldName;
     }
@@ -109,21 +81,21 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
       return _thriftId;
     }
 
-    public String getFieldName() {
+    public java.lang.String getFieldName() {
       return _fieldName;
     }
   }
 
   // isset id assignments
-  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  public static final java.util.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);
+    java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
     tmpMap.put(_Fields.ROW, new org.apache.thrift.meta_data.FieldMetaData("row", org.apache.thrift.TFieldRequirementType.DEFAULT, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING        , "Text")));
     tmpMap.put(_Fields.MUTATIONS, new org.apache.thrift.meta_data.FieldMetaData("mutations", org.apache.thrift.TFieldRequirementType.DEFAULT, 
         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, Mutation.class))));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(BatchMutation.class, metaDataMap);
   }
 
@@ -131,8 +103,8 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
   }
 
   public BatchMutation(
-    ByteBuffer row,
-    List<Mutation> mutations)
+    java.nio.ByteBuffer row,
+    java.util.List<Mutation> mutations)
   {
     this();
     this.row = org.apache.thrift.TBaseHelper.copyBinary(row);
@@ -144,10 +116,10 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
    */
   public BatchMutation(BatchMutation other) {
     if (other.isSetRow()) {
-      this.row = other.row;
+      this.row = org.apache.thrift.TBaseHelper.copyBinary(other.row);
     }
     if (other.isSetMutations()) {
-      List<Mutation> __this__mutations = new ArrayList<Mutation>(other.mutations.size());
+      java.util.List<Mutation> __this__mutations = new java.util.ArrayList<Mutation>(other.mutations.size());
       for (Mutation other_element : other.mutations) {
         __this__mutations.add(new Mutation(other_element));
       }
@@ -170,16 +142,16 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
     return row == null ? null : row.array();
   }
 
-  public ByteBuffer bufferForRow() {
+  public java.nio.ByteBuffer bufferForRow() {
     return org.apache.thrift.TBaseHelper.copyBinary(row);
   }
 
   public BatchMutation setRow(byte[] row) {
-    this.row = row == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(row, row.length));
+    this.row = row == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(row.clone());
     return this;
   }
 
-  public BatchMutation setRow(ByteBuffer row) {
+  public BatchMutation setRow(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer row) {
     this.row = org.apache.thrift.TBaseHelper.copyBinary(row);
     return this;
   }
@@ -203,22 +175,24 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
     return (this.mutations == null) ? 0 : this.mutations.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<Mutation> getMutationsIterator() {
     return (this.mutations == null) ? null : this.mutations.iterator();
   }
 
   public void addToMutations(Mutation elem) {
     if (this.mutations == null) {
-      this.mutations = new ArrayList<Mutation>();
+      this.mutations = new java.util.ArrayList<Mutation>();
     }
     this.mutations.add(elem);
   }
 
-  public List<Mutation> getMutations() {
+  @org.apache.thrift.annotation.Nullable
+  public java.util.List<Mutation> getMutations() {
     return this.mutations;
   }
 
-  public BatchMutation setMutations(List<Mutation> mutations) {
+  public BatchMutation setMutations(@org.apache.thrift.annotation.Nullable java.util.List<Mutation> mutations) {
     this.mutations = mutations;
     return this;
   }
@@ -238,13 +212,17 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
     }
   }
 
-  public void setFieldValue(_Fields field, Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ROW:
       if (value == null) {
         unsetRow();
       } else {
-        setRow((ByteBuffer)value);
+        if (value instanceof byte[]) {
+          setRow((byte[])value);
+        } else {
+          setRow((java.nio.ByteBuffer)value);
+        }
       }
       break;
 
@@ -252,14 +230,15 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
       if (value == null) {
         unsetMutations();
       } else {
-        setMutations((List<Mutation>)value);
+        setMutations((java.util.List<Mutation>)value);
       }
       break;
 
     }
   }
 
-  public Object getFieldValue(_Fields field) {
+  @org.apache.thrift.annotation.Nullable
+  public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ROW:
       return getRow();
@@ -268,13 +247,13 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
       return getMutations();
 
     }
-    throw new IllegalStateException();
+    throw new java.lang.IllegalStateException();
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
   public boolean isSet(_Fields field) {
     if (field == null) {
-      throw new IllegalArgumentException();
+      throw new java.lang.IllegalArgumentException();
     }
 
     switch (field) {
@@ -283,11 +262,11 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
     case MUTATIONS:
       return isSetMutations();
     }
-    throw new IllegalStateException();
+    throw new java.lang.IllegalStateException();
   }
 
   @Override
-  public boolean equals(Object that) {
+  public boolean equals(java.lang.Object that) {
     if (that == null)
       return false;
     if (that instanceof BatchMutation)
@@ -298,6 +277,8 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
   public boolean equals(BatchMutation that) {
     if (that == null)
       return false;
+    if (this == that)
+      return true;
 
     boolean this_present_row = true && this.isSetRow();
     boolean that_present_row = true && that.isSetRow();
@@ -322,19 +303,17 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
 
   @Override
   public int hashCode() {
-    List<Object> list = new ArrayList<Object>();
+    int hashCode = 1;
 
-    boolean present_row = true && (isSetRow());
-    list.add(present_row);
-    if (present_row)
-      list.add(row);
+    hashCode = hashCode * 8191 + ((isSetRow()) ? 131071 : 524287);
+    if (isSetRow())
+      hashCode = hashCode * 8191 + row.hashCode();
 
-    boolean present_mutations = true && (isSetMutations());
-    list.add(present_mutations);
-    if (present_mutations)
-      list.add(mutations);
+    hashCode = hashCode * 8191 + ((isSetMutations()) ? 131071 : 524287);
+    if (isSetMutations())
+      hashCode = hashCode * 8191 + mutations.hashCode();
 
-    return list.hashCode();
+    return hashCode;
   }
 
   @Override
@@ -345,7 +324,7 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
 
     int lastComparison = 0;
 
-    lastComparison = Boolean.valueOf(isSetRow()).compareTo(other.isSetRow());
+    lastComparison = java.lang.Boolean.valueOf(isSetRow()).compareTo(other.isSetRow());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -355,7 +334,7 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetMutations()).compareTo(other.isSetMutations());
+    lastComparison = java.lang.Boolean.valueOf(isSetMutations()).compareTo(other.isSetMutations());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -368,21 +347,22 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    scheme(iprot).read(iprot, this);
   }
 
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+    scheme(oprot).write(oprot, this);
   }
 
   @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder("BatchMutation(");
+  public java.lang.String toString() {
+    java.lang.StringBuilder sb = new java.lang.StringBuilder("BatchMutation(");
     boolean first = true;
 
     sb.append("row:");
@@ -417,7 +397,7 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
     }
   }
 
-  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
     try {
       read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
     } catch (org.apache.thrift.TException te) {
@@ -425,13 +405,13 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
     }
   }
 
-  private static class BatchMutationStandardSchemeFactory implements SchemeFactory {
+  private static class BatchMutationStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
     public BatchMutationStandardScheme getScheme() {
       return new BatchMutationStandardScheme();
     }
   }
 
-  private static class BatchMutationStandardScheme extends StandardScheme<BatchMutation> {
+  private static class BatchMutationStandardScheme extends org.apache.thrift.scheme.StandardScheme<BatchMutation> {
 
     public void read(org.apache.thrift.protocol.TProtocol iprot, BatchMutation struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
@@ -455,8 +435,8 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
-                struct.mutations = new ArrayList<Mutation>(_list0.size);
-                Mutation _elem1;
+                struct.mutations = new java.util.ArrayList<Mutation>(_list0.size);
+                @org.apache.thrift.annotation.Nullable Mutation _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = new Mutation();
@@ -508,18 +488,18 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
 
   }
 
-  private static class BatchMutationTupleSchemeFactory implements SchemeFactory {
+  private static class BatchMutationTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
     public BatchMutationTupleScheme getScheme() {
       return new BatchMutationTupleScheme();
     }
   }
 
-  private static class BatchMutationTupleScheme extends TupleScheme<BatchMutation> {
+  private static class BatchMutationTupleScheme extends org.apache.thrift.scheme.TupleScheme<BatchMutation> {
 
     @Override
     public void write(org.apache.thrift.protocol.TProtocol prot, BatchMutation struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      BitSet optionals = new BitSet();
+      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+      java.util.BitSet optionals = new java.util.BitSet();
       if (struct.isSetRow()) {
         optionals.set(0);
       }
@@ -543,8 +523,8 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
 
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, BatchMutation struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(2);
+      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+      java.util.BitSet incoming = iprot.readBitSet(2);
       if (incoming.get(0)) {
         struct.row = iprot.readBinary();
         struct.setRowIsSet(true);
@@ -552,8 +532,8 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
       if (incoming.get(1)) {
         {
           org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.mutations = new ArrayList<Mutation>(_list5.size);
-          Mutation _elem6;
+          struct.mutations = new java.util.ArrayList<Mutation>(_list5.size);
+          @org.apache.thrift.annotation.Nullable Mutation _elem6;
           for (int _i7 = 0; _i7 < _list5.size; ++_i7)
           {
             _elem6 = new Mutation();
@@ -566,5 +546,8 @@ public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, Bat
     }
   }
 
+  private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+    return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+  }
 }
 
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java
index 3252377..bba4842 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java
@@ -1,45 +1,18 @@
 /**
- * Autogenerated by Thrift Compiler (0.9.3)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.hadoop.hbase.thrift.generated;
 
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * An HColumnDescriptor contains information about a column family
  * such as the number of versions, compression settings, etc. It is
  * used as input when creating a table or adding a column.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.12.0)", date = "2019-01-28")
 public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescriptor, ColumnDescriptor._Fields>, java.io.Serializable, Cloneable, Comparable<ColumnDescriptor> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ColumnDescriptor");
 
@@ -53,17 +26,14 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
   private static final org.apache.thrift.protocol.TField BLOCK_CACHE_ENABLED_FIELD_DESC = new org.apache.thrift.protocol.TField("blockCacheEnabled", org.apache.thrift.protocol.TType.BOOL, (short)8);
   private static final org.apache.thrift.protocol.TField TIME_TO_LIVE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeToLive", org.apache.thrift.protocol.TType.I32, (short)9);
 
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new ColumnDescriptorStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new ColumnDescriptorTupleSchemeFactory());
-  }
+  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ColumnDescriptorStandardSchemeFactory();
+  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ColumnDescriptorTupleSchemeFactory();
 
-  public ByteBuffer name; // required
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer name; // required
   public int maxVersions; // required
-  public String compression; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String compression; // required
   public boolean inMemory; // required
-  public String bloomFilterType; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String bloomFilterType; // required
   public int bloomFilterVectorSize; // required
   public int bloomFilterNbHashes; // required
   public boolean blockCacheEnabled; // required
@@ -81,10 +51,10 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
     BLOCK_CACHE_ENABLED((short)8, "blockCacheEnabled"),
     TIME_TO_LIVE((short)9, "timeToLive");
 
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+    private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
     static {
-      for (_Fields field : EnumSet.allOf(_Fields.class)) {
+      for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
         byName.put(field.getFieldName(), field);
       }
     }
@@ -92,6 +62,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // NAME
@@ -123,21 +94,22 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
      */
     public static _Fields findByThriftIdOrThrow(int fieldId) {
       _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+      if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
       return fields;
     }
 
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
-    public static _Fields findByName(String name) {
+    @org.apache.thrift.annotation.Nullable
+    public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
 
     private final short _thriftId;
-    private final String _fieldName;
+    private final java.lang.String _fieldName;
 
-    _Fields(short thriftId, String fieldName) {
+    _Fields(short thriftId, java.lang.String fieldName) {
       _thriftId = thriftId;
       _fieldName = fieldName;
     }
@@ -146,7 +118,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
       return _thriftId;
     }
 
-    public String getFieldName() {
+    public java.lang.String getFieldName() {
       return _fieldName;
     }
   }
@@ -159,9 +131,9 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
   private static final int __BLOCKCACHEENABLED_ISSET_ID = 4;
   private static final int __TIMETOLIVE_ISSET_ID = 5;
   private byte __isset_bitfield = 0;
-  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+  public static final java.util.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);
+    java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
     tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.DEFAULT, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING        , "Text")));
     tmpMap.put(_Fields.MAX_VERSIONS, new org.apache.thrift.meta_data.FieldMetaData("maxVersions", org.apache.thrift.TFieldRequirementType.DEFAULT, 
@@ -180,7 +152,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     tmpMap.put(_Fields.TIME_TO_LIVE, new org.apache.thrift.meta_data.FieldMetaData("timeToLive", org.apache.thrift.TFieldRequirementType.DEFAULT, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
+    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ColumnDescriptor.class, metaDataMap);
   }
 
@@ -204,11 +176,11 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
   }
 
   public ColumnDescriptor(
-    ByteBuffer name,
+    java.nio.ByteBuffer name,
     int maxVersions,
-    String compression,
+    java.lang.String compression,
     boolean inMemory,
-    String bloomFilterType,
+    java.lang.String bloomFilterType,
     int bloomFilterVectorSize,
     int bloomFilterNbHashes,
     boolean blockCacheEnabled,
@@ -238,7 +210,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
   public ColumnDescriptor(ColumnDescriptor other) {
     __isset_bitfield = other.__isset_bitfield;
     if (other.isSetName()) {
-      this.name = other.name;
+      this.name = org.apache.thrift.TBaseHelper.copyBinary(other.name);
     }
     this.maxVersions = other.maxVersions;
     if (other.isSetCompression()) {
@@ -284,16 +256,16 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
     return name == null ? null : name.array();
   }
 
-  public ByteBuffer bufferForName() {
+  public java.nio.ByteBuffer bufferForName() {
     return org.apache.thrift.TBaseHelper.copyBinary(name);
   }
 
   public ColumnDescriptor setName(byte[] name) {
-    this.name = name == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(name, name.length));
+    this.name = name == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(name.clone());
     return this;
   }
 
-  public ColumnDescriptor setName(ByteBuffer name) {
+  public ColumnDescriptor setName(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer name) {
     this.name = org.apache.thrift.TBaseHelper.copyBinary(name);
     return this;
   }
@@ -324,23 +296,24 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
   }
 
   public void unsetMaxVersions() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAXVERSIONS_ISSET_ID);
+    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __MAXVERSIONS_ISSET_ID);
   }
 
   /** Returns true if field maxVersions is set (has been assigned a value) and false otherwise */
   public boolean isSetMaxVersions() {
-    return EncodingUtils.testBit(__isset_bitfield, __MAXVERSIONS_ISSET_ID);
+    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __MAXVERSIONS_ISSET_ID);
   }
 
   public void setMaxVersionsIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXVERSIONS_ISSET_ID, value);
+    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __MAXVERSIONS_ISSET_ID, value);
   }
 
-  public String getCompression() {
+  @org.apache.thrift.annotation.Nullable
+  public java.lang.String getCompression() {
     return this.compression;
   }
 
-  public ColumnDescriptor setCompression(String compression) {
+  public ColumnDescriptor setCompression(@org.apache.thrift.annotation.Nullable java.lang.String compression) {
     this.compression = compression;
     return this;
   }
@@ -371,23 +344,24 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
   }
 
   public void unsetInMemory() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __INMEMORY_ISSET_ID);
+    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __INMEMORY_ISSET_ID);
   }
 
   /** Returns true if field inMemory is set (has been assigned a value) and false otherwise */
   public boolean isSetInMemory() {
-    return EncodingUtils.testBit(__isset_bitfield, __INMEMORY_ISSET_ID);
+    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __INMEMORY_ISSET_ID);
   }
 
   public void setInMemoryIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __INMEMORY_ISSET_ID, value);
+    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __INMEMORY_ISSET_ID, value);
   }
 
-  public String getBloomFilterType() {
+  @org.apache.thrift.annotation.Nullable
+  public java.lang.String getBloomFilterType() {
     return this.bloomFilterType;
   }
 
-  public ColumnDescriptor setBloomFilterType(String bloomFilterType) {
+  public ColumnDescriptor setBloomFilterType(@org.apache.thrift.annotation.Nullable java.lang.String bloomFilterType) {
     this.bloomFilterType = bloomFilterType;
     return this;
   }
@@ -418,16 +392,16 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
   }
 
   public void unsetBloomFilterVectorSize() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __BLOOMFILTERVECTORSIZE_ISSET_ID);
+    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __BLOOMFILTERVECTORSIZE_ISSET_ID);
   }
 
   /** Returns true if field bloomFilterVectorSize is set (has been assigned a value) and false otherwise */
   public boolean isSetBloomFilterVectorSize() {
-    return EncodingUtils.testBit(__isset_bitfield, __BLOOMFILTERVECTORSIZE_ISSET_ID);
+    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __BLOOMFILTERVECTORSIZE_ISSET_ID);
   }
 
   public void setBloomFilterVectorSizeIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __BLOOMFILTERVECTORSIZE_ISSET_ID, value);
+    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __BLOOMFILTERVECTORSIZE_ISSET_ID, value);
   }
 
   public int getBloomFilterNbHashes() {
@@ -441,16 +415,16 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
   }
 
   public void unsetBloomFilterNbHashes() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __BLOOMFILTERNBHASHES_ISSET_ID);
+    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __BLOOMFILTERNBHASHES_ISSET_ID);
   }
 
   /** Returns true if field bloomFilterNbHashes is set (has been assigned a value) and false otherwise */
   public boolean isSetBloomFilterNbHashes() {
-    return EncodingUtils.testBit(__isset_bitfield, __BLOOMFILTERNBHASHES_ISSET_ID);
+    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __BLOOMFILTERNBHASHES_ISSET_ID);
   }
 
   public void setBloomFilterNbHashesIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __BLOOMFILTERNBHASHES_ISSET_ID, value);
+    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __BLOOMFILTERNBHASHES_ISSET_ID, value);
   }
 
   public boolean isBlockCacheEnabled() {
@@ -464,16 +438,16 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
   }
 
   public void unsetBlockCacheEnabled() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __BLOCKCACHEENABLED_ISSET_ID);
+    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __BLOCKCACHEENABLED_ISSET_ID);
   }
 
   /** Returns true if field blockCacheEnabled is set (has been assigned a value) and false otherwise */
   public boolean isSetBlockCacheEnabled() {
-    return EncodingUtils.testBit(__isset_bitfield, __BLOCKCACHEENABLED_ISSET_ID);
+    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __BLOCKCACHEENABLED_ISSET_ID);
   }
 
   public void setBlockCacheEnabledIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __BLOCKCACHEENABLED_ISSET_ID, value);
+    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __BLOCKCACHEENABLED_ISSET_ID, value);
   }
 
   public int getTimeToLive() {
@@ -487,25 +461,29 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
   }
 
   public void unsetTimeToLive() {
-    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMETOLIVE_ISSET_ID);
+    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __TIMETOLIVE_ISSET_ID);
   }
 
   /** Returns true if field timeToLive is set (has been assigned a value) and false otherwise */
   public boolean isSetTimeToLive() {
-    return EncodingUtils.testBit(__isset_bitfield, __TIMETOLIVE_ISSET_ID);
+    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __TIMETOLIVE_ISSET_ID);
   }
 
   public void setTimeToLiveIsSet(boolean value) {
-    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMETOLIVE_ISSET_ID, value);
+    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TIMETOLIVE_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, Object value) {
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case NAME:
       if (value == null) {
         unsetName();
       } else {
-        setName((ByteBuffer)value);
+        if (value instanceof byte[]) {
+          setName((byte[])value);
+        } else {
+          setName((java.nio.ByteBuffer)value);
+        }
       }
       break;
 
@@ -513,7 +491,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
       if (value == null) {
         unsetMaxVersions();
       } else {
-        setMaxVersions((Integer)value);
+        setMaxVersions((java.lang.Integer)value);
       }
       break;
 
@@ -521,7 +499,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
       if (value == null) {
         unsetCompression();
       } else {
-        setCompression((String)value);
+        setCompression((java.lang.String)value);
       }
       break;
 
@@ -529,7 +507,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
       if (value == null) {
         unsetInMemory();
       } else {
-        setInMemory((Boolean)value);
+        setInMemory((java.lang.Boolean)value);
       }
       break;
 
@@ -537,7 +515,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
       if (value == null) {
         unsetBloomFilterType();
       } else {
-        setBloomFilterType((String)value);
+        setBloomFilterType((java.lang.String)value);
       }
       break;
 
@@ -545,7 +523,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
       if (value == null) {
         unsetBloomFilterVectorSize();
       } else {
-        setBloomFilterVectorSize((Integer)value);
+        setBloomFilterVectorSize((java.lang.Integer)value);
       }
       break;
 
@@ -553,7 +531,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
       if (value == null) {
         unsetBloomFilterNbHashes();
       } else {
-        setBloomFilterNbHashes((Integer)value);
+        setBloomFilterNbHashes((java.lang.Integer)value);
       }
       break;
 
@@ -561,7 +539,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
       if (value == null) {
         unsetBlockCacheEnabled();
       } else {
-        setBlockCacheEnabled((Boolean)value);
+        setBlockCacheEnabled((java.lang.Boolean)value);
       }
       break;
 
@@ -569,14 +547,15 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
       if (value == null) {
         unsetTimeToLive();
       } else {
-        setTimeToLive((Integer)value);
+        setTimeToLive((java.lang.Integer)value);
       }
       break;
 
     }
   }
 
-  public Object getFieldValue(_Fields field) {
+  @org.apache.thrift.annotation.Nullable
+  public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case NAME:
       return getName();
@@ -606,13 +585,13 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
       return getTimeToLive();
 
     }
-    throw new IllegalStateException();
+    throw new java.lang.IllegalStateException();
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
   public boolean isSet(_Fields field) {
     if (field == null) {
-      throw new IllegalArgumentException();
+      throw new java.lang.IllegalArgumentException();
     }
 
     switch (field) {
@@ -635,11 +614,11 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
     case TIME_TO_LIVE:
       return isSetTimeToLive();
     }
-    throw new IllegalStateException();
+    throw new java.lang.IllegalStateException();
   }
 
   @Override
-  public boolean equals(Object that) {
+  public boolean equals(java.lang.Object that) {
     if (that == null)
       return false;
     if (that instanceof ColumnDescriptor)
@@ -650,6 +629,8 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
   public boolean equals(ColumnDescriptor that) {
     if (that == null)
       return false;
+    if (this == that)
+      return true;
 
     boolean this_present_name = true && this.isSetName();
     boolean that_present_name = true && that.isSetName();
@@ -737,54 +718,33 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
 
   @Override
   public int hashCode() {
-    List<Object> list = new ArrayList<Object>();
+    int hashCode = 1;
 
-    boolean present_name = true && (isSetName());
-    list.add(present_name);
-    if (present_name)
-      list.add(name);
+    hashCode = hashCode * 8191 + ((isSetName()) ? 131071 : 524287);
+    if (isSetName())
+      hashCode = hashCode * 8191 + name.hashCode();
 
-    boolean present_maxVersions = true;
-    list.add(present_maxVersions);
-    if (present_maxVersions)
-      list.add(maxVersions);
+    hashCode = hashCode * 8191 + maxVersions;
 
-    boolean present_compression = true && (isSetCompression());
-    list.add(present_compression);
-    if (present_compression)
-      list.add(compression);
+    hashCode = hashCode * 8191 + ((isSetCompression()) ? 131071 : 524287);
+    if (isSetCompression())
+      hashCode = hashCode * 8191 + compression.hashCode();
 
-    boolean present_inMemory = true;
-    list.add(present_inMemory);
-    if (present_inMemory)
-      list.add(inMemory);
+    hashCode = hashCode * 8191 + ((inMemory) ? 131071 : 524287);
 
-    boolean present_bloomFilterType = true && (isSetBloomFilterType());
-    list.add(present_bloomFilterType);
-    if (present_bloomFilterType)
-      list.add(bloomFilterType);
+    hashCode = hashCode * 8191 + ((isSetBloomFilterType()) ? 131071 : 524287);
+    if (isSetBloomFilterType())
+      hashCode = hashCode * 8191 + bloomFilterType.hashCode();
 
-    boolean present_bloomFilterVectorSize = true;
-    list.add(present_bloomFilterVectorSize);
-    if (present_bloomFilterVectorSize)
-      list.add(bloomFilterVectorSize);
+    hashCode = hashCode * 8191 + bloomFilterVectorSize;
 
-    boolean present_bloomFilterNbHashes = true;
-    list.add(present_bloomFilterNbHashes);
-    if (present_bloomFilterNbHashes)
-      list.add(bloomFilterNbHashes);
+    hashCode = hashCode * 8191 + bloomFilterNbHashes;
 
-    boolean present_blockCacheEnabled = true;
-    list.add(present_blockCacheEnabled);
-    if (present_blockCacheEnabled)
-      list.add(blockCacheEnabled);
+    hashCode = hashCode * 8191 + ((blockCacheEnabled) ? 131071 : 524287);
 
-    boolean present_timeToLive = true;
-    list.add(present_timeToLive);
-    if (present_timeToLive)
-      list.add(timeToLive);
+    hashCode = hashCode * 8191 + timeToLive;
 
-    return list.hashCode();
+    return hashCode;
   }
 
   @Override
@@ -795,7 +755,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
 
     int lastComparison = 0;
 
-    lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -805,7 +765,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetMaxVersions()).compareTo(other.isSetMaxVersions());
+    lastComparison = java.lang.Boolean.valueOf(isSetMaxVersions()).compareTo(other.isSetMaxVersions());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -815,7 +775,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetCompression()).compareTo(other.isSetCompression());
+    lastComparison = java.lang.Boolean.valueOf(isSetCompression()).compareTo(other.isSetCompression());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -825,7 +785,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetInMemory()).compareTo(other.isSetInMemory());
+    lastComparison = java.lang.Boolean.valueOf(isSetInMemory()).compareTo(other.isSetInMemory());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -835,7 +795,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetBloomFilterType()).compareTo(other.isSetBloomFilterType());
+    lastComparison = java.lang.Boolean.valueOf(isSetBloomFilterType()).compareTo(other.isSetBloomFilterType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -845,7 +805,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetBloomFilterVectorSize()).compareTo(other.isSetBloomFilterVectorSize());
+    lastComparison = java.lang.Boolean.valueOf(isSetBloomFilterVectorSize()).compareTo(other.isSetBloomFilterVectorSize());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -855,7 +815,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetBloomFilterNbHashes()).compareTo(other.isSetBloomFilterNbHashes());
+    lastComparison = java.lang.Boolean.valueOf(isSetBloomFilterNbHashes()).compareTo(other.isSetBloomFilterNbHashes());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -865,7 +825,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetBlockCacheEnabled()).compareTo(other.isSetBlockCacheEnabled());
+    lastComparison = java.lang.Boolean.valueOf(isSetBlockCacheEnabled()).compareTo(other.isSetBlockCacheEnabled());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -875,7 +835,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetTimeToLive()).compareTo(other.isSetTimeToLive());
+    lastComparison = java.lang.Boolean.valueOf(isSetTimeToLive()).compareTo(other.isSetTimeToLive());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -888,21 +848,22 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+    scheme(iprot).read(iprot, this);
   }
 
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+    scheme(oprot).write(oprot, this);
   }
 
   @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder("ColumnDescriptor(");
+  public java.lang.String toString() {
+    java.lang.StringBuilder sb = new java.lang.StringBuilder("ColumnDescriptor(");
     boolean first = true;
 
     sb.append("name:");
@@ -969,7 +930,7 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
     }
   }
 
-  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.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;
@@ -979,13 +940,13 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
     }
   }
 
-  private static class ColumnDescriptorStandardSchemeFactory implements SchemeFactory {
+  private static class ColumnDescriptorStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
     public ColumnDescriptorStandardScheme getScheme() {
       return new ColumnDescriptorStandardScheme();
     }
   }
 
-  private static class ColumnDescriptorStandardScheme extends StandardScheme<ColumnDescriptor> {
+  private static class ColumnDescriptorStandardScheme extends org.apache.thrift.scheme.StandardScheme<ColumnDescriptor> {
 
     public void read(org.apache.thrift.protocol.TProtocol iprot, ColumnDescriptor struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
@@ -1123,18 +1084,18 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
 
   }
 
-  private static class ColumnDescriptorTupleSchemeFactory implements SchemeFactory {
+  private static class ColumnDescriptorTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
     public ColumnDescriptorTupleScheme getScheme() {
       return new ColumnDescriptorTupleScheme();
     }
   }
 
-  private static class ColumnDescriptorTupleScheme extends TupleScheme<ColumnDescriptor> {
+  private static class ColumnDescriptorTupleScheme extends org.apache.thrift.scheme.TupleScheme<ColumnDescriptor> {
 
     @Override
     public void write(org.apache.thrift.protocol.TProtocol prot, ColumnDescriptor struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      BitSet optionals = new BitSet();
+      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+      java.util.BitSet optionals = new java.util.BitSet();
       if (struct.isSetName()) {
         optionals.set(0);
       }
@@ -1194,8 +1155,8 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
 
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, ColumnDescriptor struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(9);
+      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+      java.util.BitSet incoming = iprot.readBitSet(9);
       if (incoming.get(0)) {
         struct.name = iprot.readBinary();
         struct.setNameIsSet(true);
@@ -1235,5 +1196,8 @@ public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescripto
     }
   }
 
+  private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+    return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+  }
 }
 
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
index f77ce14..915b0b4 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
@@ -1,40 +1,13 @@
 /**
- * Autogenerated by Thrift Compiler (0.9.3)
+ * Autogenerated by Thrift Compiler (0.12.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.hadoop.hbase.thrift.generated;
 
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-05-25")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.12.0)", date = "2019-01-28")
 public class Hbase {
 
   public interface Iface {
@@ -44,7 +17,7 @@ public class Hbase {
      * 
      * @param tableName name of the table
      */
-    public void enableTable(ByteBuffer tableName) throws IOError, org.apache.thrift.TException;
+    public void enableTable(java.nio.ByteBuffer tableName) throws IOError, org.apache.thrift.TException;
 
     /**
      * Disables a table (takes it off-line) If it is being served, the master
@@ -52,25 +25,25 @@ public class Hbase {
      * 
      * @param tableName name of the table
      */
-    public void disableTable(ByteBuffer tableName) throws IOError, org.apache.thrift.TException;
+    public void disableTable(java.nio.ByteBuffer tableName) throws IOError, org.apache.thrift.TException;
 
     /**
      * @return true if table is on-line
      * 
      * @param tableName name of the table to check
      */
-    public boolean isTableEnabled(ByteBuffer tableName) throws IOError, org.apache.thrift.TException;
+    public boolean isTableEnabled(java.nio.ByteBuffer tableName) throws IOError, org.apache.thrift.TException;
 
-    public void compact(ByteBuffer tableNameOrRegionName) throws IOError, org.apache.thrift.TException;
+    public void compact(java.nio.ByteBuffer tableNameOrRegionName) throws IOError, org.apache.thrift.TException;
 
-    public void majorCompact(ByteBuffer tableNameOrRegionName) throws IOError, org.apache.thrift.TException;
+    public void majorCompact(java.nio.ByteBuffer tableNameOrRegionName) throws IOError, org.apache.thrift.TException;
 
     /**
      * List all the userspace tables.
      * 
      * @return returns a list of names
      */
-    public List<ByteBuffer> getTableNames() throws IOError, org.apache.thrift.TException;
+    public java.util.List<java.nio.ByteBuffer> getTableNames() throws IOError, org.apache.thrift.TException;
 
     /**
      * List all the column families assoicated with a table.
@@ -79,7 +52,7 @@ public class Hbase {
      * 
      * @param tableName table name
      */
-    public Map<ByteBuffer,ColumnDescriptor> getColumnDescriptors(ByteBuffer tableName) throws IOError, org.apache.thrift.TException;
+    public java.util.Map<java.nio.ByteBuffer,ColumnDescriptor> getColumnDescriptors(java.nio.ByteBuffer tableName) throws IOError, org.apache.thrift.TException;
 
     /**
      * List the regions associated with a table.
@@ -88,7 +61,7 @@ public class Hbase {
      * 
      * @param tableName table name
      */
-    public List<TRegionInfo> getTableRegions(ByteBuffer tableName) throws IOError, org.apache.thrift.TException;
+    public java.util.List<TRegionInfo> getTableRegions(java.nio.ByteBuffer tableName) throws IOError, org.apache.thrift.TException;
 
     /**
      * Create a table with the specified column families.  The name
@@ -104,7 +77,7 @@ public class Hbase {
      * 
      * @param columnFamilies list of column family descriptors
      */
-    public void createTable(ByteBuffer tableName, List<ColumnDescriptor> columnFamilies) throws IOError, IllegalArgument, AlreadyExists, org.apache.thrift.TException;
+    public void createTable(java.nio.ByteBuffer tableName, java.util.List<ColumnDescriptor> columnFamilies) throws IOError, IllegalArgument, AlreadyExists, org.apache.thrift.TException;
 
     /**
      * Deletes a table
@@ -114,7 +87,7 @@ public class Hbase {
      * 
      * @param tableName name of table to delete
      */
-    public void deleteTable(ByteBuffer tableName) throws IOError, org.apache.thrift.TException;
+    public void deleteTable(java.nio.ByteBuffer tableName) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get a single TCell for the specified table, row, and column at the
@@ -130,7 +103,7 @@ public class Hbase {
      * 
      * @param attributes Get attributes
      */
-    public List<TCell> get(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public java.util.List<TCell> get(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get the specified number of versions for the specified table,
@@ -148,7 +121,7 @@ public class Hbase {
      * 
      * @param attributes Get attributes
      */
-    public List<TCell> getVer(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, int numVersions, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public java.util.List<TCell> getVer(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, int numVersions, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get the specified number of versions for the specified table,
@@ -169,7 +142,7 @@ public class Hbase {
      * 
      * @param attributes Get attributes
      */
-    public List<TCell> getVerTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, int numVersions, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public java.util.List<TCell> getVerTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long timestamp, int numVersions, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get all the data for the specified table and row at the latest
@@ -183,7 +156,7 @@ public class Hbase {
      * 
      * @param attributes Get attributes
      */
-    public List<TRowResult> getRow(ByteBuffer tableName, ByteBuffer row, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public java.util.List<TRowResult> getRow(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get the specified columns for the specified table and row at the latest
@@ -199,7 +172,7 @@ public class Hbase {
      * 
      * @param attributes Get attributes
      */
-    public List<TRowResult> getRowWithColumns(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public java.util.List<TRowResult> getRowWithColumns(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get all the data for the specified table and row at the specified
@@ -215,7 +188,7 @@ public class Hbase {
      * 
      * @param attributes Get attributes
      */
-    public List<TRowResult> getRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public java.util.List<TRowResult> getRowTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get the specified columns for the specified table and row at the specified
@@ -232,7 +205,7 @@ public class Hbase {
      * @param timestamp
      * @param attributes Get attributes
      */
-    public List<TRowResult> getRowWithColumnsTs(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public java.util.List<TRowResult> getRowWithColumnsTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get all the data for the specified table and rows at the latest
@@ -246,7 +219,7 @@ public class Hbase {
      * 
      * @param attributes Get attributes
      */
-    public List<TRowResult> getRows(ByteBuffer tableName, List<ByteBuffer> rows, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public java.util.List<TRowResult> getRows(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get the specified columns for the specified table and rows at the latest
@@ -262,7 +235,7 @@ public class Hbase {
      * 
      * @param attributes Get attributes
      */
-    public List<TRowResult> getRowsWithColumns(ByteBuffer tableName, List<ByteBuffer> rows, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public java.util.List<TRowResult> getRowsWithColumns(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get all the data for the specified table and rows at the specified
@@ -278,7 +251,7 @@ public class Hbase {
      * 
      * @param attributes Get attributes
      */
-    public List<TRowResult> getRowsTs(ByteBuffer tableName, List<ByteBuffer> rows, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public java.util.List<TRowResult> getRowsTs(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get the specified columns for the specified table and rows at the specified
@@ -295,7 +268,7 @@ public class Hbase {
      * @param timestamp
      * @param attributes Get attributes
      */
-    public List<TRowResult> getRowsWithColumnsTs(ByteBuffer tableName, List<ByteBuffer> rows, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public java.util.List<TRowResult> getRowsWithColumnsTs(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Apply a series of mutations (updates/deletes) to a row in a
@@ -311,7 +284,7 @@ public class Hbase {
      * 
      * @param attributes Mutation attributes
      */
-    public void mutateRow(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException;
+    public void mutateRow(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<Mutation> mutations, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException;
 
     /**
      * Apply a series of mutations (updates/deletes) to a row in a
@@ -329,7 +302,7 @@ public class Hbase {
      * 
      * @param attributes Mutation attributes
      */
-    public void mutateRowTs(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException;
+    public void mutateRowTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<Mutation> mutations, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException;
 
     /**
      * Apply a series of batches (each a series of mutations on a single row)
@@ -343,7 +316,7 @@ public class Hbase {
      * 
      * @param attributes Mutation attributes
      */
-    public void mutateRows(ByteBuffer tableName, List<BatchMutation> rowBatches, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException;
+    public void mutateRows(java.nio.ByteBuffer tableName, java.util.List<BatchMutation> rowBatches, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException;
 
     /**
      * Apply a series of batches (each a series of mutations on a single row)
@@ -359,7 +332,7 @@ public class Hbase {
      * 
      * @param attributes Mutation attributes
      */
-    public void mutateRowsTs(ByteBuffer tableName, List<BatchMutation> rowBatches, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException;
+    public void mutateRowsTs(java.nio.ByteBuffer tableName, java.util.List<BatchMutation> rowBatches, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException;
 
     /**
      * Atomically increment the column value specified.  Returns the next value post increment.
@@ -372,7 +345,7 @@ public class Hbase {
      * 
      * @param value amount to increment by
      */
-    public long atomicIncrement(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long value) throws IOError, IllegalArgument, org.apache.thrift.TException;
+    public long atomicIncrement(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long value) throws IOError, IllegalArgument, org.apache.thrift.TException;
 
     /**
      * Delete all cells that match the passed row and column.
@@ -385,7 +358,7 @@ public class Hbase {
      * 
      * @param attributes Delete attributes
      */
-    public void deleteAll(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public void deleteAll(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Delete all cells that match the passed row and column and whose
@@ -401,7 +374,7 @@ public class Hbase {
      * 
      * @param attributes Delete attributes
      */
-    public void deleteAllTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public void deleteAllTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Completely delete the row's cells.
@@ -412,7 +385,7 @@ public class Hbase {
      * 
      * @param attributes Delete attributes
      */
-    public void deleteAllRow(ByteBuffer tableName, ByteBuffer row, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public void deleteAllRow(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Increment a cell by the ammount.
@@ -424,7 +397,7 @@ public class Hbase {
      */
     public void increment(TIncrement increment) throws IOError, org.apache.thrift.TException;
 
-    public void incrementRows(List<TIncrement> increments) throws IOError, org.apache.thrift.TException;
+    public void incrementRows(java.util.List<TIncrement> increments) throws IOError, org.apache.thrift.TException;
 
     /**
      * Completely delete the row's cells marked with a timestamp
@@ -438,7 +411,7 @@ public class Hbase {
      * 
      * @param attributes Delete attributes
      */
-    public void deleteAllRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public void deleteAllRowTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get a scanner on the current table, using the Scan instance
@@ -450,7 +423,7 @@ public class Hbase {
      * 
      * @param attributes Scan attributes
      */
-    public int scannerOpenWithScan(ByteBuffer tableName, TScan scan, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public int scannerOpenWithScan(java.nio.ByteBuffer tableName, TScan scan, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get a scanner on the current table starting at the specified row and
@@ -469,7 +442,7 @@ public class Hbase {
      * 
      * @param attributes Scan attributes
      */
-    public int scannerOpen(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public int scannerOpen(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get a scanner on the current table starting and stopping at the
@@ -492,7 +465,7 @@ public class Hbase {
      * 
      * @param attributes Scan attributes
      */
-    public int scannerOpenWithStop(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public int scannerOpenWithStop(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.nio.ByteBuffer stopRow, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Open a scanner for a given prefix.  That is all rows will have the specified
@@ -508,7 +481,7 @@ public class Hbase {
      * 
      * @param attributes Scan attributes
      */
-    public int scannerOpenWithPrefix(ByteBuffer tableName, ByteBuffer startAndPrefix, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public int scannerOpenWithPrefix(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startAndPrefix, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get a scanner on the current table starting at the specified row and
@@ -530,7 +503,7 @@ public class Hbase {
      * 
      * @param attributes Scan attributes
      */
-    public int scannerOpenTs(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public int scannerOpenTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Get a scanner on the current table starting and stopping at the
@@ -556,7 +529,7 @@ public class Hbase {
      * 
      * @param attributes Scan attributes
      */
-    public int scannerOpenWithStopTs(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
+    public int scannerOpenWithStopTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.nio.ByteBuffer stopRow, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException;
 
     /**
      * Returns the scanner's current row value and advances to the next
@@ -572,7 +545,7 @@ public class Hbase {
      * 
      * @param id id of a scanner returned by scannerOpen
      */
-    public List<TRowResult> scannerGet(int id) throws IOError, IllegalArgument, org.apache.thrift.TException;
+    public java.util.List<TRowResult> scannerGet(int id) throws IOError, IllegalArgument, org.apache.thrift.TException;
 
     /**
      * Returns, starting at the scanner's current row value nbRows worth of
@@ -590,7 +563,7 @@ public class Hbase {
      * 
      * @param nbRows number of results to return
      */
-    public List<TRowResult> scannerGetList(int id, int nbRows) throws IOError, IllegalArgument, org.apache.thrift.TException;
+    public java.util.List<TRowResult> scannerGetList(int id, int nbRows) throws IOError, IllegalArgument, org.apache.thrift.TException;
 
     /**
      * Closes the server-state associated with an open scanner.
@@ -609,7 +582,7 @@ public class Hbase {
      * 
      * @param row row key
      */
-    public TRegionInfo getRegionInfo(ByteBuffer row) throws IOError, org.apache.thrift.TException;
+    public TRegionInfo getRegionInfo(java.nio.ByteBuffer row) throws IOError, org.apache.thrift.TException;
 
     /**
      * Appends values to one or more columns within a single row.
@@ -618,7 +591,7 @@ public class Hbase {
      * 
      * @param append The single append operation to apply
      */
-    public List<TCell> append(TAppend append) throws IOError, org.apache.thrift.TException;
+    public java.util.List<TCell> append(TAppend append) throws IOError, org.apache.thrift.TException;
 
     /**
      * Atomically checks if a row/family/qualifier value matches the expected
@@ -640,99 +613,99 @@ public class Hbase {
      * 
      * @param attributes Mutation attributes
      */
-    public boolean checkAndPut(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, ByteBuffer value, Mutation mput, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException;
+    public boolean checkAndPut(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.nio.ByteBuffer value, Mutation mput, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException;
 
   }
 
   public interface AsyncIface {
 
-    public void enableTable(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void enableTable(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void disableTable(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void disableTable(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void isTableEnabled(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void isTableEnabled(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
-    public void compact(ByteBuffer tableNameOrRegionName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void compact(java.nio.ByteBuffer tableNameOrRegionName, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void majorCompact(ByteBuffer tableNameOrRegionName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void majorCompact(java.nio.ByteBuffer tableNameOrRegionName, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void getTableNames(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getTableNames(org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.nio.ByteBuffer>> resultHandler) throws org.apache.thrift.TException;
 
-    public void getColumnDescriptors(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getColumnDescriptors(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.nio.ByteBuffer,ColumnDescriptor>> resultHandler) throws org.apache.thrift.TException;
 
-    public void getTableRegions(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getTableRegions(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRegionInfo>> resultHandler) throws org.apache.thrift.TException;
 
-    public void createTable(ByteBuffer tableName, List<ColumnDescriptor> columnFamilies, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void createTable(java.nio.ByteBuffer tableName, java.util.List<ColumnDescriptor> columnFamilies, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void deleteTable(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void deleteTable(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void get(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void get(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> resultHandler) throws org.apache.thrift.TException;
 
-    public void getVer(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, int numVersions, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getVer(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, int numVersions, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> resultHandler) throws org.apache.thrift.TException;
 
-    public void getVerTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, int numVersions, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getVerTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long timestamp, int numVersions, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> resultHandler) throws org.apache.thrift.TException;
 
-    public void getRow(ByteBuffer tableName, ByteBuffer row, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getRow(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException;
 
-    public void getRowWithColumns(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getRowWithColumns(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException;
 
-    public void getRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getRowTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException;
 
-    public void getRowWithColumnsTs(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getRowWithColumnsTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException;
 
-    public void getRows(ByteBuffer tableName, List<ByteBuffer> rows, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getRows(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException;
 
-    public void getRowsWithColumns(ByteBuffer tableName, List<ByteBuffer> rows, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getRowsWithColumns(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException;
 
-    public void getRowsTs(ByteBuffer tableName, List<ByteBuffer> rows, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getRowsTs(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException;
 
-    public void getRowsWithColumnsTs(ByteBuffer tableName, List<ByteBuffer> rows, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getRowsWithColumnsTs(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException;
 
-    public void mutateRow(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void mutateRow(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<Mutation> mutations, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void mutateRowTs(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void mutateRowTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<Mutation> mutations, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void mutateRows(ByteBuffer tableName, List<BatchMutation> rowBatches, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void mutateRows(java.nio.ByteBuffer tableName, java.util.List<BatchMutation> rowBatches, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void mutateRowsTs(ByteBuffer tableName, List<BatchMutation> rowBatches, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void mutateRowsTs(java.nio.ByteBuffer tableName, java.util.List<BatchMutation> rowBatches, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void atomicIncrement(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long value, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void atomicIncrement(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long value, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.thrift.TException;
 
-    public void deleteAll(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void deleteAll(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void deleteAllTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void deleteAllTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void deleteAllRow(ByteBuffer tableName, ByteBuffer row, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void deleteAllRow(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void increment(TIncrement increment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void increment(TIncrement increment, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void incrementRows(List<TIncrement> increments, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void incrementRows(java.util.List<TIncrement> increments, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void deleteAllRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void deleteAllRowTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void scannerOpenWithScan(ByteBuffer tableName, TScan scan, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void scannerOpenWithScan(java.nio.ByteBuffer tableName, TScan scan, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException;
 
-    public void scannerOpen(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void scannerOpen(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException;
 
-    public void scannerOpenWithStop(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void scannerOpenWithStop(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.nio.ByteBuffer stopRow, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException;
 
-    public void scannerOpenWithPrefix(ByteBuffer tableName, ByteBuffer startAndPrefix, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void scannerOpenWithPrefix(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startAndPrefix, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException;
 
-    public void scannerOpenTs(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void scannerOpenTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException;
 
-    public void scannerOpenWithStopTs(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void scannerOpenWithStopTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.nio.ByteBuffer stopRow, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException;
 
-    public void scannerGet(int id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void scannerGet(int id, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException;
 
-    public void scannerGetList(int id, int nbRows, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void scannerGetList(int id, int nbRows, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException;
 
-    public void scannerClose(int id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void scannerClose(int id, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
-    public void getRegionInfo(ByteBuffer row, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getRegionInfo(java.nio.ByteBuffer row, org.apache.thrift.async.AsyncMethodCallback<TRegionInfo> resultHandler) throws org.apache.thrift.TException;
 
-    public void append(TAppend append, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void append(TAppend append, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> resultHandler) throws org.apache.thrift.TException;
 
-    public void checkAndPut(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, ByteBuffer value, Mutation mput, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void checkAndPut(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.nio.ByteBuffer value, Mutation mput, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
   }
 
@@ -756,13 +729,13 @@ public class Hbase {
       super(iprot, oprot);
     }
 
-    public void enableTable(ByteBuffer tableName) throws IOError, org.apache.thrift.TException
+    public void enableTable(java.nio.ByteBuffer tableName) throws IOError, org.apache.thrift.TException
     {
       send_enableTable(tableName);
       recv_enableTable();
     }
 
-    public void send_enableTable(ByteBuffer tableName) throws org.apache.thrift.TException
+    public void send_enableTable(java.nio.ByteBuffer tableName) throws org.apache.thrift.TException
     {
       enableTable_args args = new enableTable_args();
       args.setTableName(tableName);
@@ -779,13 +752,13 @@ public class Hbase {
       return;
     }
 
-    public void disableTable(ByteBuffer tableName) throws IOError, org.apache.thrift.TException
+    public void disableTable(java.nio.ByteBuffer tableName) throws IOError, org.apache.thrift.TException
     {
       send_disableTable(tableName);
       recv_disableTable();
     }
 
-    public void send_disableTable(ByteBuffer tableName) throws org.apache.thrift.TException
+    public void send_disableTable(java.nio.ByteBuffer tableName) throws org.apache.thrift.TException
     {
       disableTable_args args = new disableTable_args();
       args.setTableName(tableName);
@@ -802,13 +775,13 @@ public class Hbase {
       return;
     }
 
-    public boolean isTableEnabled(ByteBuffer tableName) throws IOError, org.apache.thrift.TException
+    public boolean isTableEnabled(java.nio.ByteBuffer tableName) throws IOError, org.apache.thrift.TException
     {
       send_isTableEnabled(tableName);
       return recv_isTableEnabled();
     }
 
-    public void send_isTableEnabled(ByteBuffer tableName) throws org.apache.thrift.TException
+    public void send_isTableEnabled(java.nio.ByteBuffer tableName) throws org.apache.thrift.TException
     {
       isTableEnabled_args args = new isTableEnabled_args();
       args.setTableName(tableName);
@@ -828,13 +801,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isTableEnabled failed: unknown result");
     }
 
-    public void compact(ByteBuffer tableNameOrRegionName) throws IOError, org.apache.thrift.TException
+    public void compact(java.nio.ByteBuffer tableNameOrRegionName) throws IOError, org.apache.thrift.TException
     {
       send_compact(tableNameOrRegionName);
       recv_compact();
     }
 
-    public void send_compact(ByteBuffer tableNameOrRegionName) throws org.apache.thrift.TException
+    public void send_compact(java.nio.ByteBuffer tableNameOrRegionName) throws org.apache.thrift.TException
     {
       compact_args args = new compact_args();
       args.setTableNameOrRegionName(tableNameOrRegionName);
@@ -851,13 +824,13 @@ public class Hbase {
       return;
     }
 
-    public void majorCompact(ByteBuffer tableNameOrRegionName) throws IOError, org.apache.thrift.TException
+    public void majorCompact(java.nio.ByteBuffer tableNameOrRegionName) throws IOError, org.apache.thrift.TException
     {
       send_majorCompact(tableNameOrRegionName);
       recv_majorCompact();
     }
 
-    public void send_majorCompact(ByteBuffer tableNameOrRegionName) throws org.apache.thrift.TException
+    public void send_majorCompact(java.nio.ByteBuffer tableNameOrRegionName) throws org.apache.thrift.TException
     {
       majorCompact_args args = new majorCompact_args();
       args.setTableNameOrRegionName(tableNameOrRegionName);
@@ -874,7 +847,7 @@ public class Hbase {
       return;
     }
 
-    public List<ByteBuffer> getTableNames() throws IOError, org.apache.thrift.TException
+    public java.util.List<java.nio.ByteBuffer> getTableNames() throws IOError, org.apache.thrift.TException
     {
       send_getTableNames();
       return recv_getTableNames();
@@ -886,7 +859,7 @@ public class Hbase {
       sendBase("getTableNames", args);
     }
 
-    public List<ByteBuffer> recv_getTableNames() throws IOError, org.apache.thrift.TException
+    public java.util.List<java.nio.ByteBuffer> recv_getTableNames() throws IOError, org.apache.thrift.TException
     {
       getTableNames_result result = new getTableNames_result();
       receiveBase(result, "getTableNames");
@@ -899,20 +872,20 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTableNames failed: unknown result");
     }
 
-    public Map<ByteBuffer,ColumnDescriptor> getColumnDescriptors(ByteBuffer tableName) throws IOError, org.apache.thrift.TException
+    public java.util.Map<java.nio.ByteBuffer,ColumnDescriptor> getColumnDescriptors(java.nio.ByteBuffer tableName) throws IOError, org.apache.thrift.TException
     {
       send_getColumnDescriptors(tableName);
       return recv_getColumnDescriptors();
     }
 
-    public void send_getColumnDescriptors(ByteBuffer tableName) throws org.apache.thrift.TException
+    public void send_getColumnDescriptors(java.nio.ByteBuffer tableName) throws org.apache.thrift.TException
     {
       getColumnDescriptors_args args = new getColumnDescriptors_args();
       args.setTableName(tableName);
       sendBase("getColumnDescriptors", args);
     }
 
-    public Map<ByteBuffer,ColumnDescriptor> recv_getColumnDescriptors() throws IOError, org.apache.thrift.TException
+    public java.util.Map<java.nio.ByteBuffer,ColumnDescriptor> recv_getColumnDescriptors() throws IOError, org.apache.thrift.TException
     {
       getColumnDescriptors_result result = new getColumnDescriptors_result();
       receiveBase(result, "getColumnDescriptors");
@@ -925,20 +898,20 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getColumnDescriptors failed: unknown result");
     }
 
-    public List<TRegionInfo> getTableRegions(ByteBuffer tableName) throws IOError, org.apache.thrift.TException
+    public java.util.List<TRegionInfo> getTableRegions(java.nio.ByteBuffer tableName) throws IOError, org.apache.thrift.TException
     {
       send_getTableRegions(tableName);
       return recv_getTableRegions();
     }
 
-    public void send_getTableRegions(ByteBuffer tableName) throws org.apache.thrift.TException
+    public void send_getTableRegions(java.nio.ByteBuffer tableName) throws org.apache.thrift.TException
     {
       getTableRegions_args args = new getTableRegions_args();
       args.setTableName(tableName);
       sendBase("getTableRegions", args);
     }
 
-    public List<TRegionInfo> recv_getTableRegions() throws IOError, org.apache.thrift.TException
+    public java.util.List<TRegionInfo> recv_getTableRegions() throws IOError, org.apache.thrift.TException
     {
       getTableRegions_result result = new getTableRegions_result();
       receiveBase(result, "getTableRegions");
@@ -951,13 +924,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getTableRegions failed: unknown result");
     }
 
-    public void createTable(ByteBuffer tableName, List<ColumnDescriptor> columnFamilies) throws IOError, IllegalArgument, AlreadyExists, org.apache.thrift.TException
+    public void createTable(java.nio.ByteBuffer tableName, java.util.List<ColumnDescriptor> columnFamilies) throws IOError, IllegalArgument, AlreadyExists, org.apache.thrift.TException
     {
       send_createTable(tableName, columnFamilies);
       recv_createTable();
     }
 
-    public void send_createTable(ByteBuffer tableName, List<ColumnDescriptor> columnFamilies) throws org.apache.thrift.TException
+    public void send_createTable(java.nio.ByteBuffer tableName, java.util.List<ColumnDescriptor> columnFamilies) throws org.apache.thrift.TException
     {
       createTable_args args = new createTable_args();
       args.setTableName(tableName);
@@ -981,13 +954,13 @@ public class Hbase {
       return;
     }
 
-    public void deleteTable(ByteBuffer tableName) throws IOError, org.apache.thrift.TException
+    public void deleteTable(java.nio.ByteBuffer tableName) throws IOError, org.apache.thrift.TException
     {
       send_deleteTable(tableName);
       recv_deleteTable();
     }
 
-    public void send_deleteTable(ByteBuffer tableName) throws org.apache.thrift.TException
+    public void send_deleteTable(java.nio.ByteBuffer tableName) throws org.apache.thrift.TException
     {
       deleteTable_args args = new deleteTable_args();
       args.setTableName(tableName);
@@ -1004,13 +977,13 @@ public class Hbase {
       return;
     }
 
-    public List<TCell> get(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public java.util.List<TCell> get(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_get(tableName, row, column, attributes);
       return recv_get();
     }
 
-    public void send_get(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_get(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       get_args args = new get_args();
       args.setTableName(tableName);
@@ -1020,7 +993,7 @@ public class Hbase {
       sendBase("get", args);
     }
 
-    public List<TCell> recv_get() throws IOError, org.apache.thrift.TException
+    public java.util.List<TCell> recv_get() throws IOError, org.apache.thrift.TException
     {
       get_result result = new get_result();
       receiveBase(result, "get");
@@ -1033,13 +1006,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "get failed: unknown result");
     }
 
-    public List<TCell> getVer(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, int numVersions, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public java.util.List<TCell> getVer(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, int numVersions, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_getVer(tableName, row, column, numVersions, attributes);
       return recv_getVer();
     }
 
-    public void send_getVer(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, int numVersions, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_getVer(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, int numVersions, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       getVer_args args = new getVer_args();
       args.setTableName(tableName);
@@ -1050,7 +1023,7 @@ public class Hbase {
       sendBase("getVer", args);
     }
 
-    public List<TCell> recv_getVer() throws IOError, org.apache.thrift.TException
+    public java.util.List<TCell> recv_getVer() throws IOError, org.apache.thrift.TException
     {
       getVer_result result = new getVer_result();
       receiveBase(result, "getVer");
@@ -1063,13 +1036,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getVer failed: unknown result");
     }
 
-    public List<TCell> getVerTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, int numVersions, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public java.util.List<TCell> getVerTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long timestamp, int numVersions, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_getVerTs(tableName, row, column, timestamp, numVersions, attributes);
       return recv_getVerTs();
     }
 
-    public void send_getVerTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, int numVersions, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_getVerTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long timestamp, int numVersions, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       getVerTs_args args = new getVerTs_args();
       args.setTableName(tableName);
@@ -1081,7 +1054,7 @@ public class Hbase {
       sendBase("getVerTs", args);
     }
 
-    public List<TCell> recv_getVerTs() throws IOError, org.apache.thrift.TException
+    public java.util.List<TCell> recv_getVerTs() throws IOError, org.apache.thrift.TException
     {
       getVerTs_result result = new getVerTs_result();
       receiveBase(result, "getVerTs");
@@ -1094,13 +1067,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getVerTs failed: unknown result");
     }
 
-    public List<TRowResult> getRow(ByteBuffer tableName, ByteBuffer row, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> getRow(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_getRow(tableName, row, attributes);
       return recv_getRow();
     }
 
-    public void send_getRow(ByteBuffer tableName, ByteBuffer row, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_getRow(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       getRow_args args = new getRow_args();
       args.setTableName(tableName);
@@ -1109,7 +1082,7 @@ public class Hbase {
       sendBase("getRow", args);
     }
 
-    public List<TRowResult> recv_getRow() throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> recv_getRow() throws IOError, org.apache.thrift.TException
     {
       getRow_result result = new getRow_result();
       receiveBase(result, "getRow");
@@ -1122,13 +1095,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRow failed: unknown result");
     }
 
-    public List<TRowResult> getRowWithColumns(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> getRowWithColumns(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_getRowWithColumns(tableName, row, columns, attributes);
       return recv_getRowWithColumns();
     }
 
-    public void send_getRowWithColumns(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_getRowWithColumns(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       getRowWithColumns_args args = new getRowWithColumns_args();
       args.setTableName(tableName);
@@ -1138,7 +1111,7 @@ public class Hbase {
       sendBase("getRowWithColumns", args);
     }
 
-    public List<TRowResult> recv_getRowWithColumns() throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> recv_getRowWithColumns() throws IOError, org.apache.thrift.TException
     {
       getRowWithColumns_result result = new getRowWithColumns_result();
       receiveBase(result, "getRowWithColumns");
@@ -1151,13 +1124,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRowWithColumns failed: unknown result");
     }
 
-    public List<TRowResult> getRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> getRowTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_getRowTs(tableName, row, timestamp, attributes);
       return recv_getRowTs();
     }
 
-    public void send_getRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_getRowTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       getRowTs_args args = new getRowTs_args();
       args.setTableName(tableName);
@@ -1167,7 +1140,7 @@ public class Hbase {
       sendBase("getRowTs", args);
     }
 
-    public List<TRowResult> recv_getRowTs() throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> recv_getRowTs() throws IOError, org.apache.thrift.TException
     {
       getRowTs_result result = new getRowTs_result();
       receiveBase(result, "getRowTs");
@@ -1180,13 +1153,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRowTs failed: unknown result");
     }
 
-    public List<TRowResult> getRowWithColumnsTs(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> getRowWithColumnsTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_getRowWithColumnsTs(tableName, row, columns, timestamp, attributes);
       return recv_getRowWithColumnsTs();
     }
 
-    public void send_getRowWithColumnsTs(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_getRowWithColumnsTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       getRowWithColumnsTs_args args = new getRowWithColumnsTs_args();
       args.setTableName(tableName);
@@ -1197,7 +1170,7 @@ public class Hbase {
       sendBase("getRowWithColumnsTs", args);
     }
 
-    public List<TRowResult> recv_getRowWithColumnsTs() throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> recv_getRowWithColumnsTs() throws IOError, org.apache.thrift.TException
     {
       getRowWithColumnsTs_result result = new getRowWithColumnsTs_result();
       receiveBase(result, "getRowWithColumnsTs");
@@ -1210,13 +1183,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRowWithColumnsTs failed: unknown result");
     }
 
-    public List<TRowResult> getRows(ByteBuffer tableName, List<ByteBuffer> rows, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> getRows(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_getRows(tableName, rows, attributes);
       return recv_getRows();
     }
 
-    public void send_getRows(ByteBuffer tableName, List<ByteBuffer> rows, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_getRows(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       getRows_args args = new getRows_args();
       args.setTableName(tableName);
@@ -1225,7 +1198,7 @@ public class Hbase {
       sendBase("getRows", args);
     }
 
-    public List<TRowResult> recv_getRows() throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> recv_getRows() throws IOError, org.apache.thrift.TException
     {
       getRows_result result = new getRows_result();
       receiveBase(result, "getRows");
@@ -1238,13 +1211,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRows failed: unknown result");
     }
 
-    public List<TRowResult> getRowsWithColumns(ByteBuffer tableName, List<ByteBuffer> rows, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> getRowsWithColumns(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_getRowsWithColumns(tableName, rows, columns, attributes);
       return recv_getRowsWithColumns();
     }
 
-    public void send_getRowsWithColumns(ByteBuffer tableName, List<ByteBuffer> rows, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_getRowsWithColumns(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       getRowsWithColumns_args args = new getRowsWithColumns_args();
       args.setTableName(tableName);
@@ -1254,7 +1227,7 @@ public class Hbase {
       sendBase("getRowsWithColumns", args);
     }
 
-    public List<TRowResult> recv_getRowsWithColumns() throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> recv_getRowsWithColumns() throws IOError, org.apache.thrift.TException
     {
       getRowsWithColumns_result result = new getRowsWithColumns_result();
       receiveBase(result, "getRowsWithColumns");
@@ -1267,13 +1240,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRowsWithColumns failed: unknown result");
     }
 
-    public List<TRowResult> getRowsTs(ByteBuffer tableName, List<ByteBuffer> rows, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> getRowsTs(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_getRowsTs(tableName, rows, timestamp, attributes);
       return recv_getRowsTs();
     }
 
-    public void send_getRowsTs(ByteBuffer tableName, List<ByteBuffer> rows, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_getRowsTs(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       getRowsTs_args args = new getRowsTs_args();
       args.setTableName(tableName);
@@ -1283,7 +1256,7 @@ public class Hbase {
       sendBase("getRowsTs", args);
     }
 
-    public List<TRowResult> recv_getRowsTs() throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> recv_getRowsTs() throws IOError, org.apache.thrift.TException
     {
       getRowsTs_result result = new getRowsTs_result();
       receiveBase(result, "getRowsTs");
@@ -1296,13 +1269,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRowsTs failed: unknown result");
     }
 
-    public List<TRowResult> getRowsWithColumnsTs(ByteBuffer tableName, List<ByteBuffer> rows, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> getRowsWithColumnsTs(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_getRowsWithColumnsTs(tableName, rows, columns, timestamp, attributes);
       return recv_getRowsWithColumnsTs();
     }
 
-    public void send_getRowsWithColumnsTs(ByteBuffer tableName, List<ByteBuffer> rows, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_getRowsWithColumnsTs(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       getRowsWithColumnsTs_args args = new getRowsWithColumnsTs_args();
       args.setTableName(tableName);
@@ -1313,7 +1286,7 @@ public class Hbase {
       sendBase("getRowsWithColumnsTs", args);
     }
 
-    public List<TRowResult> recv_getRowsWithColumnsTs() throws IOError, org.apache.thrift.TException
+    public java.util.List<TRowResult> recv_getRowsWithColumnsTs() throws IOError, org.apache.thrift.TException
     {
       getRowsWithColumnsTs_result result = new getRowsWithColumnsTs_result();
       receiveBase(result, "getRowsWithColumnsTs");
@@ -1326,13 +1299,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRowsWithColumnsTs failed: unknown result");
     }
 
-    public void mutateRow(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException
+    public void mutateRow(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<Mutation> mutations, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException
     {
       send_mutateRow(tableName, row, mutations, attributes);
       recv_mutateRow();
     }
 
-    public void send_mutateRow(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_mutateRow(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<Mutation> mutations, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       mutateRow_args args = new mutateRow_args();
       args.setTableName(tableName);
@@ -1355,13 +1328,13 @@ public class Hbase {
       return;
     }
 
-    public void mutateRowTs(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException
+    public void mutateRowTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<Mutation> mutations, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException
     {
       send_mutateRowTs(tableName, row, mutations, timestamp, attributes);
       recv_mutateRowTs();
     }
 
-    public void send_mutateRowTs(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_mutateRowTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<Mutation> mutations, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       mutateRowTs_args args = new mutateRowTs_args();
       args.setTableName(tableName);
@@ -1385,13 +1358,13 @@ public class Hbase {
       return;
     }
 
-    public void mutateRows(ByteBuffer tableName, List<BatchMutation> rowBatches, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException
+    public void mutateRows(java.nio.ByteBuffer tableName, java.util.List<BatchMutation> rowBatches, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException
     {
       send_mutateRows(tableName, rowBatches, attributes);
       recv_mutateRows();
     }
 
-    public void send_mutateRows(ByteBuffer tableName, List<BatchMutation> rowBatches, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_mutateRows(java.nio.ByteBuffer tableName, java.util.List<BatchMutation> rowBatches, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       mutateRows_args args = new mutateRows_args();
       args.setTableName(tableName);
@@ -1413,13 +1386,13 @@ public class Hbase {
       return;
     }
 
-    public void mutateRowsTs(ByteBuffer tableName, List<BatchMutation> rowBatches, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException
+    public void mutateRowsTs(java.nio.ByteBuffer tableName, java.util.List<BatchMutation> rowBatches, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException
     {
       send_mutateRowsTs(tableName, rowBatches, timestamp, attributes);
       recv_mutateRowsTs();
     }
 
-    public void send_mutateRowsTs(ByteBuffer tableName, List<BatchMutation> rowBatches, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_mutateRowsTs(java.nio.ByteBuffer tableName, java.util.List<BatchMutation> rowBatches, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       mutateRowsTs_args args = new mutateRowsTs_args();
       args.setTableName(tableName);
@@ -1442,13 +1415,13 @@ public class Hbase {
       return;
     }
 
-    public long atomicIncrement(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long value) throws IOError, IllegalArgument, org.apache.thrift.TException
+    public long atomicIncrement(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long value) throws IOError, IllegalArgument, org.apache.thrift.TException
     {
       send_atomicIncrement(tableName, row, column, value);
       return recv_atomicIncrement();
     }
 
-    public void send_atomicIncrement(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long value) throws org.apache.thrift.TException
+    public void send_atomicIncrement(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long value) throws org.apache.thrift.TException
     {
       atomicIncrement_args args = new atomicIncrement_args();
       args.setTableName(tableName);
@@ -1474,13 +1447,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "atomicIncrement failed: unknown result");
     }
 
-    public void deleteAll(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public void deleteAll(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_deleteAll(tableName, row, column, attributes);
       recv_deleteAll();
     }
 
-    public void send_deleteAll(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_deleteAll(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       deleteAll_args args = new deleteAll_args();
       args.setTableName(tableName);
@@ -1500,13 +1473,13 @@ public class Hbase {
       return;
     }
 
-    public void deleteAllTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public void deleteAllTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_deleteAllTs(tableName, row, column, timestamp, attributes);
       recv_deleteAllTs();
     }
 
-    public void send_deleteAllTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_deleteAllTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       deleteAllTs_args args = new deleteAllTs_args();
       args.setTableName(tableName);
@@ -1527,13 +1500,13 @@ public class Hbase {
       return;
     }
 
-    public void deleteAllRow(ByteBuffer tableName, ByteBuffer row, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public void deleteAllRow(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_deleteAllRow(tableName, row, attributes);
       recv_deleteAllRow();
     }
 
-    public void send_deleteAllRow(ByteBuffer tableName, ByteBuffer row, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_deleteAllRow(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       deleteAllRow_args args = new deleteAllRow_args();
       args.setTableName(tableName);
@@ -1575,13 +1548,13 @@ public class Hbase {
       return;
     }
 
-    public void incrementRows(List<TIncrement> increments) throws IOError, org.apache.thrift.TException
+    public void incrementRows(java.util.List<TIncrement> increments) throws IOError, org.apache.thrift.TException
     {
       send_incrementRows(increments);
       recv_incrementRows();
     }
 
-    public void send_incrementRows(List<TIncrement> increments) throws org.apache.thrift.TException
+    public void send_incrementRows(java.util.List<TIncrement> increments) throws org.apache.thrift.TException
     {
       incrementRows_args args = new incrementRows_args();
       args.setIncrements(increments);
@@ -1598,13 +1571,13 @@ public class Hbase {
       return;
     }
 
-    public void deleteAllRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public void deleteAllRowTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_deleteAllRowTs(tableName, row, timestamp, attributes);
       recv_deleteAllRowTs();
     }
 
-    public void send_deleteAllRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_deleteAllRowTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       deleteAllRowTs_args args = new deleteAllRowTs_args();
       args.setTableName(tableName);
@@ -1624,13 +1597,13 @@ public class Hbase {
       return;
     }
 
-    public int scannerOpenWithScan(ByteBuffer tableName, TScan scan, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public int scannerOpenWithScan(java.nio.ByteBuffer tableName, TScan scan, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_scannerOpenWithScan(tableName, scan, attributes);
       return recv_scannerOpenWithScan();
     }
 
-    public void send_scannerOpenWithScan(ByteBuffer tableName, TScan scan, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_scannerOpenWithScan(java.nio.ByteBuffer tableName, TScan scan, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       scannerOpenWithScan_args args = new scannerOpenWithScan_args();
       args.setTableName(tableName);
@@ -1652,13 +1625,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "scannerOpenWithScan failed: unknown result");
     }
 
-    public int scannerOpen(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public int scannerOpen(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_scannerOpen(tableName, startRow, columns, attributes);
       return recv_scannerOpen();
     }
 
-    public void send_scannerOpen(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_scannerOpen(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       scannerOpen_args args = new scannerOpen_args();
       args.setTableName(tableName);
@@ -1681,13 +1654,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "scannerOpen failed: unknown result");
     }
 
-    public int scannerOpenWithStop(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public int scannerOpenWithStop(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.nio.ByteBuffer stopRow, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_scannerOpenWithStop(tableName, startRow, stopRow, columns, attributes);
       return recv_scannerOpenWithStop();
     }
 
-    public void send_scannerOpenWithStop(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_scannerOpenWithStop(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.nio.ByteBuffer stopRow, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       scannerOpenWithStop_args args = new scannerOpenWithStop_args();
       args.setTableName(tableName);
@@ -1711,13 +1684,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "scannerOpenWithStop failed: unknown result");
     }
 
-    public int scannerOpenWithPrefix(ByteBuffer tableName, ByteBuffer startAndPrefix, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public int scannerOpenWithPrefix(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startAndPrefix, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_scannerOpenWithPrefix(tableName, startAndPrefix, columns, attributes);
       return recv_scannerOpenWithPrefix();
     }
 
-    public void send_scannerOpenWithPrefix(ByteBuffer tableName, ByteBuffer startAndPrefix, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_scannerOpenWithPrefix(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startAndPrefix, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       scannerOpenWithPrefix_args args = new scannerOpenWithPrefix_args();
       args.setTableName(tableName);
@@ -1740,13 +1713,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "scannerOpenWithPrefix failed: unknown result");
     }
 
-    public int scannerOpenTs(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public int scannerOpenTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_scannerOpenTs(tableName, startRow, columns, timestamp, attributes);
       return recv_scannerOpenTs();
     }
 
-    public void send_scannerOpenTs(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_scannerOpenTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       scannerOpenTs_args args = new scannerOpenTs_args();
       args.setTableName(tableName);
@@ -1770,13 +1743,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "scannerOpenTs failed: unknown result");
     }
 
-    public int scannerOpenWithStopTs(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
+    public int scannerOpenWithStopTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.nio.ByteBuffer stopRow, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, org.apache.thrift.TException
     {
       send_scannerOpenWithStopTs(tableName, startRow, stopRow, columns, timestamp, attributes);
       return recv_scannerOpenWithStopTs();
     }
 
-    public void send_scannerOpenWithStopTs(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_scannerOpenWithStopTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.nio.ByteBuffer stopRow, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       scannerOpenWithStopTs_args args = new scannerOpenWithStopTs_args();
       args.setTableName(tableName);
@@ -1801,7 +1774,7 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "scannerOpenWithStopTs failed: unknown result");
     }
 
-    public List<TRowResult> scannerGet(int id) throws IOError, IllegalArgument, org.apache.thrift.TException
+    public java.util.List<TRowResult> scannerGet(int id) throws IOError, IllegalArgument, org.apache.thrift.TException
     {
       send_scannerGet(id);
       return recv_scannerGet();
@@ -1814,7 +1787,7 @@ public class Hbase {
       sendBase("scannerGet", args);
     }
 
-    public List<TRowResult> recv_scannerGet() throws IOError, IllegalArgument, org.apache.thrift.TException
+    public java.util.List<TRowResult> recv_scannerGet() throws IOError, IllegalArgument, org.apache.thrift.TException
     {
       scannerGet_result result = new scannerGet_result();
       receiveBase(result, "scannerGet");
@@ -1830,7 +1803,7 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "scannerGet failed: unknown result");
     }
 
-    public List<TRowResult> scannerGetList(int id, int nbRows) throws IOError, IllegalArgument, org.apache.thrift.TException
+    public java.util.List<TRowResult> scannerGetList(int id, int nbRows) throws IOError, IllegalArgument, org.apache.thrift.TException
     {
       send_scannerGetList(id, nbRows);
       return recv_scannerGetList();
@@ -1844,7 +1817,7 @@ public class Hbase {
       sendBase("scannerGetList", args);
     }
 
-    public List<TRowResult> recv_scannerGetList() throws IOError, IllegalArgument, org.apache.thrift.TException
+    public java.util.List<TRowResult> recv_scannerGetList() throws IOError, IllegalArgument, org.apache.thrift.TException
     {
       scannerGetList_result result = new scannerGetList_result();
       receiveBase(result, "scannerGetList");
@@ -1886,13 +1859,13 @@ public class Hbase {
       return;
     }
 
-    public TRegionInfo getRegionInfo(ByteBuffer row) throws IOError, org.apache.thrift.TException
+    public TRegionInfo getRegionInfo(java.nio.ByteBuffer row) throws IOError, org.apache.thrift.TException
     {
       send_getRegionInfo(row);
       return recv_getRegionInfo();
     }
 
-    public void send_getRegionInfo(ByteBuffer row) throws org.apache.thrift.TException
+    public void send_getRegionInfo(java.nio.ByteBuffer row) throws org.apache.thrift.TException
     {
       getRegionInfo_args args = new getRegionInfo_args();
       args.setRow(row);
@@ -1912,7 +1885,7 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getRegionInfo failed: unknown result");
     }
 
-    public List<TCell> append(TAppend append) throws IOError, org.apache.thrift.TException
+    public java.util.List<TCell> append(TAppend append) throws IOError, org.apache.thrift.TException
     {
       send_append(append);
       return recv_append();
@@ -1925,7 +1898,7 @@ public class Hbase {
       sendBase("append", args);
     }
 
-    public List<TCell> recv_append() throws IOError, org.apache.thrift.TException
+    public java.util.List<TCell> recv_append() throws IOError, org.apache.thrift.TException
     {
       append_result result = new append_result();
       receiveBase(result, "append");
@@ -1938,13 +1911,13 @@ public class Hbase {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "append failed: unknown result");
     }
 
-    public boolean checkAndPut(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, ByteBuffer value, Mutation mput, Map<ByteBuffer,ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException
+    public boolean checkAndPut(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.nio.ByteBuffer value, Mutation mput, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws IOError, IllegalArgument, org.apache.thrift.TException
     {
       send_checkAndPut(tableName, row, column, value, mput, attributes);
       return recv_checkAndPut();
     }
 
-    public void send_checkAndPut(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, ByteBuffer value, Mutation mput, Map<ByteBuffer,ByteBuffer> attributes) throws org.apache.thrift.TException
+    public void send_checkAndPut(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.nio.ByteBuffer value, Mutation mput, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes) throws org.apache.thrift.TException
     {
       checkAndPut_args args = new checkAndPut_args();
       args.setTableName(tableName);
@@ -1990,16 +1963,16 @@ public class Hbase {
       super(protocolFactory, clientManager, transport);
     }
 
-    public void enableTable(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void enableTable(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       enableTable_call method_call = new enableTable_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class enableTable_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      public enableTable_call(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+    public static class enableTable_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.nio.ByteBuffer tableName;
+      public enableTable_call(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
       }
@@ -2012,26 +1985,26 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, org.apache.thrift.TException {
+      public Void getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_enableTable();
+        return null;
       }
     }
 
-    public void disableTable(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void disableTable(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       disableTable_call method_call = new disableTable_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class disableTable_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      public disableTable_call(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+    public static class disableTable_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.nio.ByteBuffer tableName;
+      public disableTable_call(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
       }
@@ -2044,26 +2017,26 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, org.apache.thrift.TException {
+      public Void getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_disableTable();
+        return null;
       }
     }
 
-    public void isTableEnabled(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void isTableEnabled(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isTableEnabled_call method_call = new isTableEnabled_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class isTableEnabled_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      public isTableEnabled_call(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+    public static class isTableEnabled_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
+      private java.nio.ByteBuffer tableName;
+      public isTableEnabled_call(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
       }
@@ -2076,9 +2049,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public boolean getResult() throws IOError, org.apache.thrift.TException {
+      public java.lang.Boolean getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2086,16 +2059,16 @@ public class Hbase {
       }
     }
 
-    public void compact(ByteBuffer tableNameOrRegionName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void compact(java.nio.ByteBuffer tableNameOrRegionName, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       compact_call method_call = new compact_call(tableNameOrRegionName, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class compact_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableNameOrRegionName;
-      public compact_call(ByteBuffer tableNameOrRegionName, 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 {
+    public static class compact_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.nio.ByteBuffer tableNameOrRegionName;
+      public compact_call(java.nio.ByteBuffer tableNameOrRegionName, org.apache.thrift.async.AsyncMethodCallback<Void> 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.tableNameOrRegionName = tableNameOrRegionName;
       }
@@ -2108,26 +2081,26 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, org.apache.thrift.TException {
+      public Void getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_compact();
+        return null;
       }
     }
 
-    public void majorCompact(ByteBuffer tableNameOrRegionName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void majorCompact(java.nio.ByteBuffer tableNameOrRegionName, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       majorCompact_call method_call = new majorCompact_call(tableNameOrRegionName, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class majorCompact_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableNameOrRegionName;
-      public majorCompact_call(ByteBuffer tableNameOrRegionName, 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 {
+    public static class majorCompact_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.nio.ByteBuffer tableNameOrRegionName;
+      public majorCompact_call(java.nio.ByteBuffer tableNameOrRegionName, org.apache.thrift.async.AsyncMethodCallback<Void> 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.tableNameOrRegionName = tableNameOrRegionName;
       }
@@ -2140,25 +2113,25 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, org.apache.thrift.TException {
+      public Void getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_majorCompact();
+        return null;
       }
     }
 
-    public void getTableNames(org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getTableNames(org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.nio.ByteBuffer>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getTableNames_call method_call = new getTableNames_call(resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getTableNames_call extends org.apache.thrift.async.TAsyncMethodCall {
-      public getTableNames_call(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 {
+    public static class getTableNames_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<java.nio.ByteBuffer>> {
+      public getTableNames_call(org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.nio.ByteBuffer>> 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);
       }
 
@@ -2169,9 +2142,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<ByteBuffer> getResult() throws IOError, org.apache.thrift.TException {
+      public java.util.List<java.nio.ByteBuffer> getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2179,16 +2152,16 @@ public class Hbase {
       }
     }
 
-    public void getColumnDescriptors(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getColumnDescriptors(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.nio.ByteBuffer,ColumnDescriptor>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getColumnDescriptors_call method_call = new getColumnDescriptors_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getColumnDescriptors_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      public getColumnDescriptors_call(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+    public static class getColumnDescriptors_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.Map<java.nio.ByteBuffer,ColumnDescriptor>> {
+      private java.nio.ByteBuffer tableName;
+      public getColumnDescriptors_call(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.nio.ByteBuffer,ColumnDescriptor>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
       }
@@ -2201,9 +2174,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public Map<ByteBuffer,ColumnDescriptor> getResult() throws IOError, org.apache.thrift.TException {
+      public java.util.Map<java.nio.ByteBuffer,ColumnDescriptor> getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2211,16 +2184,16 @@ public class Hbase {
       }
     }
 
-    public void getTableRegions(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getTableRegions(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRegionInfo>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getTableRegions_call method_call = new getTableRegions_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getTableRegions_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      public getTableRegions_call(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+    public static class getTableRegions_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<TRegionInfo>> {
+      private java.nio.ByteBuffer tableName;
+      public getTableRegions_call(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRegionInfo>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
       }
@@ -2233,9 +2206,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<TRegionInfo> getResult() throws IOError, org.apache.thrift.TException {
+      public java.util.List<TRegionInfo> getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2243,17 +2216,17 @@ public class Hbase {
       }
     }
 
-    public void createTable(ByteBuffer tableName, List<ColumnDescriptor> columnFamilies, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void createTable(java.nio.ByteBuffer tableName, java.util.List<ColumnDescriptor> columnFamilies, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createTable_call method_call = new createTable_call(tableName, columnFamilies, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class createTable_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private List<ColumnDescriptor> columnFamilies;
-      public createTable_call(ByteBuffer tableName, List<ColumnDescriptor> columnFamilies, 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 {
+    public static class createTable_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.nio.ByteBuffer tableName;
+      private java.util.List<ColumnDescriptor> columnFamilies;
+      public createTable_call(java.nio.ByteBuffer tableName, java.util.List<ColumnDescriptor> columnFamilies, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.columnFamilies = columnFamilies;
@@ -2268,26 +2241,26 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, IllegalArgument, AlreadyExists, org.apache.thrift.TException {
+      public Void getResult() throws IOError, IllegalArgument, AlreadyExists, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_createTable();
+        return null;
       }
     }
 
-    public void deleteTable(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void deleteTable(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteTable_call method_call = new deleteTable_call(tableName, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class deleteTable_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      public deleteTable_call(ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+    public static class deleteTable_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.nio.ByteBuffer tableName;
+      public deleteTable_call(java.nio.ByteBuffer tableName, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
       }
@@ -2300,29 +2273,29 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, org.apache.thrift.TException {
+      public Void getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_deleteTable();
+        return null;
       }
     }
 
-    public void get(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void get(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       get_call method_call = new get_call(tableName, row, column, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class get_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer row;
-      private ByteBuffer column;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public get_call(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+    public static class get_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<TCell>> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer row;
+      private java.nio.ByteBuffer column;
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public get_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.row = row;
@@ -2341,9 +2314,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<TCell> getResult() throws IOError, org.apache.thrift.TException {
+      public java.util.List<TCell> getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2351,20 +2324,20 @@ public class Hbase {
       }
     }
 
-    public void getVer(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, int numVersions, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getVer(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, int numVersions, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getVer_call method_call = new getVer_call(tableName, row, column, numVersions, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getVer_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer row;
-      private ByteBuffer column;
+    public static class getVer_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<TCell>> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer row;
+      private java.nio.ByteBuffer column;
       private int numVersions;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public getVer_call(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, int numVersions, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public getVer_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, int numVersions, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.row = row;
@@ -2385,9 +2358,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<TCell> getResult() throws IOError, org.apache.thrift.TException {
+      public java.util.List<TCell> getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2395,21 +2368,21 @@ public class Hbase {
       }
     }
 
-    public void getVerTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, int numVersions, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getVerTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long timestamp, int numVersions, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getVerTs_call method_call = new getVerTs_call(tableName, row, column, timestamp, numVersions, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getVerTs_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer row;
-      private ByteBuffer column;
+    public static class getVerTs_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<TCell>> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer row;
+      private java.nio.ByteBuffer column;
       private long timestamp;
       private int numVersions;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public getVerTs_call(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, int numVersions, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public getVerTs_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long timestamp, int numVersions, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.row = row;
@@ -2432,9 +2405,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<TCell> getResult() throws IOError, org.apache.thrift.TException {
+      public java.util.List<TCell> getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2442,18 +2415,18 @@ public class Hbase {
       }
     }
 
-    public void getRow(ByteBuffer tableName, ByteBuffer row, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getRow(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getRow_call method_call = new getRow_call(tableName, row, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getRow_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer row;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public getRow_call(ByteBuffer tableName, ByteBuffer row, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+    public static class getRow_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<TRowResult>> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer row;
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public getRow_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.row = row;
@@ -2470,9 +2443,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
+      public java.util.List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2480,19 +2453,19 @@ public class Hbase {
       }
     }
 
-    public void getRowWithColumns(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getRowWithColumns(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getRowWithColumns_call method_call = new getRowWithColumns_call(tableName, row, columns, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getRowWithColumns_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer row;
-      private List<ByteBuffer> columns;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public getRowWithColumns_call(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+    public static class getRowWithColumns_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<TRowResult>> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer row;
+      private java.util.List<java.nio.ByteBuffer> columns;
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public getRowWithColumns_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.row = row;
@@ -2511,9 +2484,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
+      public java.util.List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2521,19 +2494,19 @@ public class Hbase {
       }
     }
 
-    public void getRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getRowTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getRowTs_call method_call = new getRowTs_call(tableName, row, timestamp, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getRowTs_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer row;
+    public static class getRowTs_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<TRowResult>> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer row;
       private long timestamp;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public getRowTs_call(ByteBuffer tableName, ByteBuffer row, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public getRowTs_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.row = row;
@@ -2552,9 +2525,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
+      public java.util.List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2562,20 +2535,20 @@ public class Hbase {
       }
     }
 
-    public void getRowWithColumnsTs(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getRowWithColumnsTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getRowWithColumnsTs_call method_call = new getRowWithColumnsTs_call(tableName, row, columns, timestamp, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getRowWithColumnsTs_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer row;
-      private List<ByteBuffer> columns;
+    public static class getRowWithColumnsTs_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<TRowResult>> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer row;
+      private java.util.List<java.nio.ByteBuffer> columns;
       private long timestamp;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public getRowWithColumnsTs_call(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public getRowWithColumnsTs_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apach [...]
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.row = row;
@@ -2596,9 +2569,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
+      public java.util.List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2606,18 +2579,18 @@ public class Hbase {
       }
     }
 
-    public void getRows(ByteBuffer tableName, List<ByteBuffer> rows, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getRows(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getRows_call method_call = new getRows_call(tableName, rows, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getRows_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private List<ByteBuffer> rows;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public getRows_call(ByteBuffer tableName, List<ByteBuffer> rows, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+    public static class getRows_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<TRowResult>> {
+      private java.nio.ByteBuffer tableName;
+      private java.util.List<java.nio.ByteBuffer> rows;
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public getRows_call(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.rows = rows;
@@ -2634,9 +2607,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
+      public java.util.List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2644,19 +2617,19 @@ public class Hbase {
       }
     }
 
-    public void getRowsWithColumns(ByteBuffer tableName, List<ByteBuffer> rows, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getRowsWithColumns(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getRowsWithColumns_call method_call = new getRowsWithColumns_call(tableName, rows, columns, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getRowsWithColumns_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private List<ByteBuffer> rows;
-      private List<ByteBuffer> columns;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public getRowsWithColumns_call(ByteBuffer tableName, List<ByteBuffer> rows, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+    public static class getRowsWithColumns_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<TRowResult>> {
+      private java.nio.ByteBuffer tableName;
+      private java.util.List<java.nio.ByteBuffer> rows;
+      private java.util.List<java.nio.ByteBuffer> columns;
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public getRowsWithColumns_call(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apach [...]
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.rows = rows;
@@ -2675,9 +2648,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
+      public java.util.List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2685,19 +2658,19 @@ public class Hbase {
       }
     }
 
-    public void getRowsTs(ByteBuffer tableName, List<ByteBuffer> rows, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getRowsTs(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getRowsTs_call method_call = new getRowsTs_call(tableName, rows, timestamp, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getRowsTs_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private List<ByteBuffer> rows;
+    public static class getRowsTs_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<TRowResult>> {
+      private java.nio.ByteBuffer tableName;
+      private java.util.List<java.nio.ByteBuffer> rows;
       private long timestamp;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public getRowsTs_call(ByteBuffer tableName, List<ByteBuffer> rows, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public getRowsTs_call(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.rows = rows;
@@ -2716,9 +2689,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
+      public java.util.List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2726,20 +2699,20 @@ public class Hbase {
       }
     }
 
-    public void getRowsWithColumnsTs(ByteBuffer tableName, List<ByteBuffer> rows, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getRowsWithColumnsTs(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getRowsWithColumnsTs_call method_call = new getRowsWithColumnsTs_call(tableName, rows, columns, timestamp, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getRowsWithColumnsTs_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private List<ByteBuffer> rows;
-      private List<ByteBuffer> columns;
+    public static class getRowsWithColumnsTs_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<TRowResult>> {
+      private java.nio.ByteBuffer tableName;
+      private java.util.List<java.nio.ByteBuffer> rows;
+      private java.util.List<java.nio.ByteBuffer> columns;
       private long timestamp;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public getRowsWithColumnsTs_call(ByteBuffer tableName, List<ByteBuffer> rows, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public getRowsWithColumnsTs_call(java.nio.ByteBuffer tableName, java.util.List<java.nio.ByteBuffer> rows, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport [...]
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.rows = rows;
@@ -2760,9 +2733,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
+      public java.util.List<TRowResult> getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2770,19 +2743,19 @@ public class Hbase {
       }
     }
 
-    public void mutateRow(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void mutateRow(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<Mutation> mutations, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       mutateRow_call method_call = new mutateRow_call(tableName, row, mutations, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class mutateRow_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer row;
-      private List<Mutation> mutations;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public mutateRow_call(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+    public static class mutateRow_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer row;
+      private java.util.List<Mutation> mutations;
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public mutateRow_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<Mutation> mutations, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.row = row;
@@ -2801,30 +2774,30 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
+      public Void getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_mutateRow();
+        return null;
       }
     }
 
-    public void mutateRowTs(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void mutateRowTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<Mutation> mutations, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       mutateRowTs_call method_call = new mutateRowTs_call(tableName, row, mutations, timestamp, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class mutateRowTs_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer row;
-      private List<Mutation> mutations;
+    public static class mutateRowTs_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer row;
+      private java.util.List<Mutation> mutations;
       private long timestamp;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public mutateRowTs_call(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public mutateRowTs_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.List<Mutation> mutations, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.row = row;
@@ -2845,28 +2818,28 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
+      public Void getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_mutateRowTs();
+        return null;
       }
     }
 
-    public void mutateRows(ByteBuffer tableName, List<BatchMutation> rowBatches, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void mutateRows(java.nio.ByteBuffer tableName, java.util.List<BatchMutation> rowBatches, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       mutateRows_call method_call = new mutateRows_call(tableName, rowBatches, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class mutateRows_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private List<BatchMutation> rowBatches;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public mutateRows_call(ByteBuffer tableName, List<BatchMutation> rowBatches, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+    public static class mutateRows_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.nio.ByteBuffer tableName;
+      private java.util.List<BatchMutation> rowBatches;
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public mutateRows_call(java.nio.ByteBuffer tableName, java.util.List<BatchMutation> rowBatches, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.rowBatches = rowBatches;
@@ -2883,29 +2856,29 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
+      public Void getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_mutateRows();
+        return null;
       }
     }
 
-    public void mutateRowsTs(ByteBuffer tableName, List<BatchMutation> rowBatches, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void mutateRowsTs(java.nio.ByteBuffer tableName, java.util.List<BatchMutation> rowBatches, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       mutateRowsTs_call method_call = new mutateRowsTs_call(tableName, rowBatches, timestamp, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class mutateRowsTs_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private List<BatchMutation> rowBatches;
+    public static class mutateRowsTs_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.nio.ByteBuffer tableName;
+      private java.util.List<BatchMutation> rowBatches;
       private long timestamp;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public mutateRowsTs_call(ByteBuffer tableName, List<BatchMutation> rowBatches, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public mutateRowsTs_call(java.nio.ByteBuffer tableName, java.util.List<BatchMutation> rowBatches, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.rowBatches = rowBatches;
@@ -2924,29 +2897,29 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
+      public Void getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_mutateRowsTs();
+        return null;
       }
     }
 
-    public void atomicIncrement(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long value, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void atomicIncrement(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long value, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       atomicIncrement_call method_call = new atomicIncrement_call(tableName, row, column, value, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class atomicIncrement_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer row;
-      private ByteBuffer column;
+    public static class atomicIncrement_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Long> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer row;
+      private java.nio.ByteBuffer column;
       private long value;
-      public atomicIncrement_call(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long value, 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 {
+      public atomicIncrement_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long value, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.row = row;
@@ -2965,9 +2938,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public long getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
+      public java.lang.Long getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -2975,19 +2948,19 @@ public class Hbase {
       }
     }
 
-    public void deleteAll(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void deleteAll(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteAll_call method_call = new deleteAll_call(tableName, row, column, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class deleteAll_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer row;
-      private ByteBuffer column;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public deleteAll_call(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+    public static class deleteAll_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer row;
+      private java.nio.ByteBuffer column;
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public deleteAll_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.row = row;
@@ -3006,30 +2979,30 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, org.apache.thrift.TException {
+      public Void getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_deleteAll();
+        return null;
       }
     }
 
-    public void deleteAllTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void deleteAllTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteAllTs_call method_call = new deleteAllTs_call(tableName, row, column, timestamp, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class deleteAllTs_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer row;
-      private ByteBuffer column;
+    public static class deleteAllTs_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer row;
+      private java.nio.ByteBuffer column;
       private long timestamp;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public deleteAllTs_call(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public deleteAllTs_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.row = row;
@@ -3050,28 +3023,28 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, org.apache.thrift.TException {
+      public Void getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_deleteAllTs();
+        return null;
       }
     }
 
-    public void deleteAllRow(ByteBuffer tableName, ByteBuffer row, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void deleteAllRow(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteAllRow_call method_call = new deleteAllRow_call(tableName, row, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class deleteAllRow_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer row;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public deleteAllRow_call(ByteBuffer tableName, ByteBuffer row, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+    public static class deleteAllRow_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer row;
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public deleteAllRow_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.row = row;
@@ -3088,26 +3061,26 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, org.apache.thrift.TException {
+      public Void getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_deleteAllRow();
+        return null;
       }
     }
 
-    public void increment(TIncrement increment, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void increment(TIncrement increment, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       increment_call method_call = new increment_call(increment, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class increment_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class increment_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
       private TIncrement increment;
-      public increment_call(TIncrement increment, 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 {
+      public increment_call(TIncrement increment, org.apache.thrift.async.AsyncMethodCallback<Void> 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.increment = increment;
       }
@@ -3120,26 +3093,26 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, org.apache.thrift.TException {
+      public Void getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_increment();
+        return null;
       }
     }
 
-    public void incrementRows(List<TIncrement> increments, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void incrementRows(java.util.List<TIncrement> increments, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       incrementRows_call method_call = new incrementRows_call(increments, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class incrementRows_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private List<TIncrement> increments;
-      public incrementRows_call(List<TIncrement> increments, 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 {
+    public static class incrementRows_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.util.List<TIncrement> increments;
+      public incrementRows_call(java.util.List<TIncrement> increments, org.apache.thrift.async.AsyncMethodCallback<Void> 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.increments = increments;
       }
@@ -3152,29 +3125,29 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, org.apache.thrift.TException {
+      public Void getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_incrementRows();
+        return null;
       }
     }
 
-    public void deleteAllRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void deleteAllRowTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteAllRowTs_call method_call = new deleteAllRowTs_call(tableName, row, timestamp, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class deleteAllRowTs_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer row;
+    public static class deleteAllRowTs_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer row;
       private long timestamp;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public deleteAllRowTs_call(ByteBuffer tableName, ByteBuffer row, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public deleteAllRowTs_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.row = row;
@@ -3193,28 +3166,28 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, org.apache.thrift.TException {
+      public Void getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_deleteAllRowTs();
+        return null;
       }
     }
 
-    public void scannerOpenWithScan(ByteBuffer tableName, TScan scan, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void scannerOpenWithScan(java.nio.ByteBuffer tableName, TScan scan, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       scannerOpenWithScan_call method_call = new scannerOpenWithScan_call(tableName, scan, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class scannerOpenWithScan_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
+    public static class scannerOpenWithScan_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Integer> {
+      private java.nio.ByteBuffer tableName;
       private TScan scan;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public scannerOpenWithScan_call(ByteBuffer tableName, TScan scan, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public scannerOpenWithScan_call(java.nio.ByteBuffer tableName, TScan scan, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.scan = scan;
@@ -3231,9 +3204,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public int getResult() throws IOError, org.apache.thrift.TException {
+      public java.lang.Integer getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -3241,19 +3214,19 @@ public class Hbase {
       }
     }
 
-    public void scannerOpen(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void scannerOpen(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       scannerOpen_call method_call = new scannerOpen_call(tableName, startRow, columns, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class scannerOpen_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer startRow;
-      private List<ByteBuffer> columns;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public scannerOpen_call(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+    public static class scannerOpen_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Integer> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer startRow;
+      private java.util.List<java.nio.ByteBuffer> columns;
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public scannerOpen_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.startRow = startRow;
@@ -3272,9 +3245,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public int getResult() throws IOError, org.apache.thrift.TException {
+      public java.lang.Integer getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -3282,20 +3255,20 @@ public class Hbase {
       }
     }
 
-    public void scannerOpenWithStop(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void scannerOpenWithStop(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.nio.ByteBuffer stopRow, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       scannerOpenWithStop_call method_call = new scannerOpenWithStop_call(tableName, startRow, stopRow, columns, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class scannerOpenWithStop_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer startRow;
-      private ByteBuffer stopRow;
-      private List<ByteBuffer> columns;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public scannerOpenWithStop_call(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+    public static class scannerOpenWithStop_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Integer> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer startRow;
+      private java.nio.ByteBuffer stopRow;
+      private java.util.List<java.nio.ByteBuffer> columns;
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public scannerOpenWithStop_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.nio.ByteBuffer stopRow, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws  [...]
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.startRow = startRow;
@@ -3316,9 +3289,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public int getResult() throws IOError, org.apache.thrift.TException {
+      public java.lang.Integer getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -3326,19 +3299,19 @@ public class Hbase {
       }
     }
 
-    public void scannerOpenWithPrefix(ByteBuffer tableName, ByteBuffer startAndPrefix, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void scannerOpenWithPrefix(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startAndPrefix, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       scannerOpenWithPrefix_call method_call = new scannerOpenWithPrefix_call(tableName, startAndPrefix, columns, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class scannerOpenWithPrefix_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer startAndPrefix;
-      private List<ByteBuffer> columns;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public scannerOpenWithPrefix_call(ByteBuffer tableName, ByteBuffer startAndPrefix, List<ByteBuffer> columns, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+    public static class scannerOpenWithPrefix_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Integer> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer startAndPrefix;
+      private java.util.List<java.nio.ByteBuffer> columns;
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public scannerOpenWithPrefix_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startAndPrefix, java.util.List<java.nio.ByteBuffer> columns, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TEx [...]
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.startAndPrefix = startAndPrefix;
@@ -3357,9 +3330,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public int getResult() throws IOError, org.apache.thrift.TException {
+      public java.lang.Integer getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -3367,20 +3340,20 @@ public class Hbase {
       }
     }
 
-    public void scannerOpenTs(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void scannerOpenTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       scannerOpenTs_call method_call = new scannerOpenTs_call(tableName, startRow, columns, timestamp, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class scannerOpenTs_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer startRow;
-      private List<ByteBuffer> columns;
+    public static class scannerOpenTs_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Integer> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer startRow;
+      private java.util.List<java.nio.ByteBuffer> columns;
       private long timestamp;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public scannerOpenTs_call(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public scannerOpenTs_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.T [...]
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.startRow = startRow;
@@ -3401,9 +3374,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public int getResult() throws IOError, org.apache.thrift.TException {
+      public java.lang.Integer getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -3411,21 +3384,21 @@ public class Hbase {
       }
     }
 
-    public void scannerOpenWithStopTs(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void scannerOpenWithStopTs(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.nio.ByteBuffer stopRow, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       scannerOpenWithStopTs_call method_call = new scannerOpenWithStopTs_call(tableName, startRow, stopRow, columns, timestamp, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class scannerOpenWithStopTs_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer startRow;
-      private ByteBuffer stopRow;
-      private List<ByteBuffer> columns;
+    public static class scannerOpenWithStopTs_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Integer> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer startRow;
+      private java.nio.ByteBuffer stopRow;
+      private java.util.List<java.nio.ByteBuffer> columns;
       private long timestamp;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public scannerOpenWithStopTs_call(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, long timestamp, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public scannerOpenWithStopTs_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer startRow, java.nio.ByteBuffer stopRow, java.util.List<java.nio.ByteBuffer> columns, long timestamp, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport  [...]
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.startRow = startRow;
@@ -3448,9 +3421,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public int getResult() throws IOError, org.apache.thrift.TException {
+      public java.lang.Integer getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -3458,16 +3431,16 @@ public class Hbase {
       }
     }
 
-    public void scannerGet(int id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void scannerGet(int id, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       scannerGet_call method_call = new scannerGet_call(id, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class scannerGet_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class scannerGet_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<TRowResult>> {
       private int id;
-      public scannerGet_call(int id, 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 {
+      public scannerGet_call(int id, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> 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.id = id;
       }
@@ -3480,9 +3453,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<TRowResult> getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
+      public java.util.List<TRowResult> getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -3490,17 +3463,17 @@ public class Hbase {
       }
     }
 
-    public void scannerGetList(int id, int nbRows, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void scannerGetList(int id, int nbRows, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       scannerGetList_call method_call = new scannerGetList_call(id, nbRows, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class scannerGetList_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class scannerGetList_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<TRowResult>> {
       private int id;
       private int nbRows;
-      public scannerGetList_call(int id, int nbRows, 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 {
+      public scannerGetList_call(int id, int nbRows, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> 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.id = id;
         this.nbRows = nbRows;
@@ -3515,9 +3488,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<TRowResult> getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
+      public java.util.List<TRowResult> getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -3525,16 +3498,16 @@ public class Hbase {
       }
     }
 
-    public void scannerClose(int id, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void scannerClose(int id, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       scannerClose_call method_call = new scannerClose_call(id, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class scannerClose_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class scannerClose_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
       private int id;
-      public scannerClose_call(int id, 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 {
+      public scannerClose_call(int id, org.apache.thrift.async.AsyncMethodCallback<Void> 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.id = id;
       }
@@ -3547,26 +3520,26 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public void getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
+      public Void getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
-        (new Client(prot)).recv_scannerClose();
+        return null;
       }
     }
 
-    public void getRegionInfo(ByteBuffer row, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getRegionInfo(java.nio.ByteBuffer row, org.apache.thrift.async.AsyncMethodCallback<TRegionInfo> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getRegionInfo_call method_call = new getRegionInfo_call(row, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class getRegionInfo_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer row;
-      public getRegionInfo_call(ByteBuffer row, 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 {
+    public static class getRegionInfo_call extends org.apache.thrift.async.TAsyncMethodCall<TRegionInfo> {
+      private java.nio.ByteBuffer row;
+      public getRegionInfo_call(java.nio.ByteBuffer row, org.apache.thrift.async.AsyncMethodCallback<TRegionInfo> 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.row = row;
       }
@@ -3581,7 +3554,7 @@ public class Hbase {
 
       public TRegionInfo getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -3589,16 +3562,16 @@ public class Hbase {
       }
     }
 
-    public void append(TAppend append, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void append(TAppend append, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       append_call method_call = new append_call(append, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class append_call extends org.apache.thrift.async.TAsyncMethodCall {
+    public static class append_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<TCell>> {
       private TAppend append;
-      public append_call(TAppend append, 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 {
+      public append_call(TAppend append, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> 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.append = append;
       }
@@ -3611,9 +3584,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public List<TCell> getResult() throws IOError, org.apache.thrift.TException {
+      public java.util.List<TCell> getResult() throws IOError, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -3621,21 +3594,21 @@ public class Hbase {
       }
     }
 
-    public void checkAndPut(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, ByteBuffer value, Mutation mput, Map<ByteBuffer,ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void checkAndPut(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.nio.ByteBuffer value, Mutation mput, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       checkAndPut_call method_call = new checkAndPut_call(tableName, row, column, value, mput, attributes, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class checkAndPut_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private ByteBuffer tableName;
-      private ByteBuffer row;
-      private ByteBuffer column;
-      private ByteBuffer value;
+    public static class checkAndPut_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
+      private java.nio.ByteBuffer tableName;
+      private java.nio.ByteBuffer row;
+      private java.nio.ByteBuffer column;
+      private java.nio.ByteBuffer value;
       private Mutation mput;
-      private Map<ByteBuffer,ByteBuffer> attributes;
-      public checkAndPut_call(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, ByteBuffer value, Mutation mput, Map<ByteBuffer,ByteBuffer> attributes, 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 {
+      private java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes;
+      public checkAndPut_call(java.nio.ByteBuffer tableName, java.nio.ByteBuffer row, java.nio.ByteBuffer column, java.nio.ByteBuffer value, Mutation mput, java.util.Map<java.nio.ByteBuffer,java.nio.ByteBuffer> attributes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift [...]
         super(client, protocolFactory, transport, resultHandler, false);
         this.tableName = tableName;
         this.row = row;
@@ -3658,9 +3631,9 @@ public class Hbase {
         prot.writeMessageEnd();
       }
 
-      public boolean getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
+      public java.lang.Boolean getResult() throws IOError, IllegalArgument, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
+          throw new java.lang.IllegalStateException("Method call not finished!");
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
@@ -3671,16 +3644,16 @@ public class Hbase {
   }
 
   public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
-    private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName());
+    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(Processor.class.getName());
     public Processor(I iface) {
-      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
+      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
     }
 
-    protected Processor(I iface, Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
+    protected Processor(I iface, java.util.Map<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>> processMap) {
       super(iface, getProcessMap(processMap));
     }
 
-    private static <I extends Iface> Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> getProcessMap(Map<String,  org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
+    private static <I extends Iface> java.util.Map<java.lang.String,  org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>> getProcessMap(java.util.Map<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
       processMap.put("enableTable", new enableTable());
       processMap.put("disableTable", new disableTable());
       processMap.put("isTableEnabled", new isTableEnabled());
@@ -3741,6 +3714,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public enableTable_result getResult(I iface, enableTable_args args) throws org.apache.thrift.TException {
         enableTable_result result = new enableTable_result();
         try {
@@ -3765,6 +3743,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public disableTable_result getResult(I iface, disableTable_args args) throws org.apache.thrift.TException {
         disableTable_result result = new disableTable_result();
         try {
@@ -3789,6 +3772,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public isTableEnabled_result getResult(I iface, isTableEnabled_args args) throws org.apache.thrift.TException {
         isTableEnabled_result result = new isTableEnabled_result();
         try {
@@ -3814,6 +3802,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public compact_result getResult(I iface, compact_args args) throws org.apache.thrift.TException {
         compact_result result = new compact_result();
         try {
@@ -3838,6 +3831,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public majorCompact_result getResult(I iface, majorCompact_args args) throws org.apache.thrift.TException {
         majorCompact_result result = new majorCompact_result();
         try {
@@ -3862,6 +3860,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public getTableNames_result getResult(I iface, getTableNames_args args) throws org.apache.thrift.TException {
         getTableNames_result result = new getTableNames_result();
         try {
@@ -3886,6 +3889,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public getColumnDescriptors_result getResult(I iface, getColumnDescriptors_args args) throws org.apache.thrift.TException {
         getColumnDescriptors_result result = new getColumnDescriptors_result();
         try {
@@ -3910,6 +3918,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public getTableRegions_result getResult(I iface, getTableRegions_args args) throws org.apache.thrift.TException {
         getTableRegions_result result = new getTableRegions_result();
         try {
@@ -3934,6 +3947,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public createTable_result getResult(I iface, createTable_args args) throws org.apache.thrift.TException {
         createTable_result result = new createTable_result();
         try {
@@ -3962,6 +3980,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public deleteTable_result getResult(I iface, deleteTable_args args) throws org.apache.thrift.TException {
         deleteTable_result result = new deleteTable_result();
         try {
@@ -3986,6 +4009,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public get_result getResult(I iface, get_args args) throws org.apache.thrift.TException {
         get_result result = new get_result();
         try {
@@ -4010,6 +4038,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public getVer_result getResult(I iface, getVer_args args) throws org.apache.thrift.TException {
         getVer_result result = new getVer_result();
         try {
@@ -4034,6 +4067,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public getVerTs_result getResult(I iface, getVerTs_args args) throws org.apache.thrift.TException {
         getVerTs_result result = new getVerTs_result();
         try {
@@ -4058,6 +4096,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public getRow_result getResult(I iface, getRow_args args) throws org.apache.thrift.TException {
         getRow_result result = new getRow_result();
         try {
@@ -4082,6 +4125,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public getRowWithColumns_result getResult(I iface, getRowWithColumns_args args) throws org.apache.thrift.TException {
         getRowWithColumns_result result = new getRowWithColumns_result();
         try {
@@ -4106,6 +4154,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public getRowTs_result getResult(I iface, getRowTs_args args) throws org.apache.thrift.TException {
         getRowTs_result result = new getRowTs_result();
         try {
@@ -4130,6 +4183,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public getRowWithColumnsTs_result getResult(I iface, getRowWithColumnsTs_args args) throws org.apache.thrift.TException {
         getRowWithColumnsTs_result result = new getRowWithColumnsTs_result();
         try {
@@ -4154,6 +4212,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public getRows_result getResult(I iface, getRows_args args) throws org.apache.thrift.TException {
         getRows_result result = new getRows_result();
         try {
@@ -4178,6 +4241,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public getRowsWithColumns_result getResult(I iface, getRowsWithColumns_args args) throws org.apache.thrift.TException {
         getRowsWithColumns_result result = new getRowsWithColumns_result();
         try {
@@ -4202,6 +4270,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public getRowsTs_result getResult(I iface, getRowsTs_args args) throws org.apache.thrift.TException {
         getRowsTs_result result = new getRowsTs_result();
         try {
@@ -4226,6 +4299,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public getRowsWithColumnsTs_result getResult(I iface, getRowsWithColumnsTs_args args) throws org.apache.thrift.TException {
         getRowsWithColumnsTs_result result = new getRowsWithColumnsTs_result();
         try {
@@ -4250,6 +4328,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public mutateRow_result getResult(I iface, mutateRow_args args) throws org.apache.thrift.TException {
         mutateRow_result result = new mutateRow_result();
         try {
@@ -4276,6 +4359,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public mutateRowTs_result getResult(I iface, mutateRowTs_args args) throws org.apache.thrift.TException {
         mutateRowTs_result result = new mutateRowTs_result();
         try {
@@ -4302,6 +4390,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public mutateRows_result getResult(I iface, mutateRows_args args) throws org.apache.thrift.TException {
         mutateRows_result result = new mutateRows_result();
         try {
@@ -4328,6 +4421,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public mutateRowsTs_result getResult(I iface, mutateRowsTs_args args) throws org.apache.thrift.TException {
         mutateRowsTs_result result = new mutateRowsTs_result();
         try {
@@ -4354,6 +4452,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public atomicIncrement_result getResult(I iface, atomicIncrement_args args) throws org.apache.thrift.TException {
         atomicIncrement_result result = new atomicIncrement_result();
         try {
@@ -4381,6 +4484,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public deleteAll_result getResult(I iface, deleteAll_args args) throws org.apache.thrift.TException {
         deleteAll_result result = new deleteAll_result();
         try {
@@ -4405,6 +4513,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public deleteAllTs_result getResult(I iface, deleteAllTs_args args) throws org.apache.thrift.TException {
         deleteAllTs_result result = new deleteAllTs_result();
         try {
@@ -4429,6 +4542,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public deleteAllRow_result getResult(I iface, deleteAllRow_args args) throws org.apache.thrift.TException {
         deleteAllRow_result result = new deleteAllRow_result();
         try {
@@ -4453,6 +4571,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public increment_result getResult(I iface, increment_args args) throws org.apache.thrift.TException {
         increment_result result = new increment_result();
         try {
@@ -4477,6 +4600,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public incrementRows_result getResult(I iface, incrementRows_args args) throws org.apache.thrift.TException {
         incrementRows_result result = new incrementRows_result();
         try {
@@ -4501,6 +4629,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public deleteAllRowTs_result getResult(I iface, deleteAllRowTs_args args) throws org.apache.thrift.TException {
         deleteAllRowTs_result result = new deleteAllRowTs_result();
         try {
@@ -4525,6 +4658,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public scannerOpenWithScan_result getResult(I iface, scannerOpenWithScan_args args) throws org.apache.thrift.TException {
         scannerOpenWithScan_result result = new scannerOpenWithScan_result();
         try {
@@ -4550,6 +4688,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public scannerOpen_result getResult(I iface, scannerOpen_args args) throws org.apache.thrift.TException {
         scannerOpen_result result = new scannerOpen_result();
         try {
@@ -4575,6 +4718,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public scannerOpenWithStop_result getResult(I iface, scannerOpenWithStop_args args) throws org.apache.thrift.TException {
         scannerOpenWithStop_result result = new scannerOpenWithStop_result();
         try {
@@ -4600,6 +4748,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public scannerOpenWithPrefix_result getResult(I iface, scannerOpenWithPrefix_args args) throws org.apache.thrift.TException {
         scannerOpenWithPrefix_result result = new scannerOpenWithPrefix_result();
         try {
@@ -4625,6 +4778,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public scannerOpenTs_result getResult(I iface, scannerOpenTs_args args) throws org.apache.thrift.TException {
         scannerOpenTs_result result = new scannerOpenTs_result();
         try {
@@ -4650,6 +4808,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public scannerOpenWithStopTs_result getResult(I iface, scannerOpenWithStopTs_args args) throws org.apache.thrift.TException {
         scannerOpenWithStopTs_result result = new scannerOpenWithStopTs_result();
         try {
@@ -4675,6 +4838,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public scannerGet_result getResult(I iface, scannerGet_args args) throws org.apache.thrift.TException {
         scannerGet_result result = new scannerGet_result();
         try {
@@ -4701,6 +4869,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public scannerGetList_result getResult(I iface, scannerGetList_args args) throws org.apache.thrift.TException {
         scannerGetList_result result = new scannerGetList_result();
         try {
@@ -4727,6 +4900,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public scannerClose_result getResult(I iface, scannerClose_args args) throws org.apache.thrift.TException {
         scannerClose_result result = new scannerClose_result();
         try {
@@ -4753,6 +4931,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public getRegionInfo_result getResult(I iface, getRegionInfo_args args) throws org.apache.thrift.TException {
         getRegionInfo_result result = new getRegionInfo_result();
         try {
@@ -4777,6 +4960,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public append_result getResult(I iface, append_args args) throws org.apache.thrift.TException {
         append_result result = new append_result();
         try {
@@ -4801,6 +4989,11 @@ public class Hbase {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
       public checkAndPut_result getResult(I iface, checkAndPut_args args) throws org.apache.thrift.TException {
         checkAndPut_result result = new checkAndPut_result();
         try {
@@ -4818,16 +5011,16 @@ public class Hbase {
   }
 
   public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
-    private static final Logger LOGGER = LoggerFactory.getLogger(AsyncProcessor.class.getName());
+    private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(AsyncProcessor.class.getName());
     public AsyncProcessor(I iface) {
-      super(iface, getProcessMap(new HashMap<String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
+      super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
     }
 
-    protected AsyncProcessor(I iface, Map<String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
+    protected AsyncProcessor(I iface, java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
       super(iface, getProcessMap(processMap));
     }
 
-    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) {
+    private static <I extends AsyncIface> java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
       processMap.put("enableTable", new enableTable());
       processMap.put("disableTable", new disableTable());
       processMap.put("isTableEnabled", new isTableEnabled());
@@ -4884,40 +5077,48 @@ public class Hbase {
         return new enableTable_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             enableTable_result result = new enableTable_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             enableTable_result result = new enableTable_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -4926,7 +5127,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, enableTable_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, enableTable_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.enableTable(args.tableName,resultHandler);
       }
     }
@@ -4940,40 +5141,48 @@ public class Hbase {
         return new disableTable_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             disableTable_result result = new disableTable_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             disableTable_result result = new disableTable_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -4982,12 +5191,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, disableTable_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, disableTable_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.disableTable(args.tableName,resultHandler);
       }
     }
 
-    public static class isTableEnabled<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isTableEnabled_args, Boolean> {
+    public static class isTableEnabled<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isTableEnabled_args, java.lang.Boolean> {
       public isTableEnabled() {
         super("isTableEnabled");
       }
@@ -4996,42 +5205,50 @@ public class Hbase {
         return new isTableEnabled_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() {
+          public void onComplete(java.lang.Boolean o) {
             isTableEnabled_result result = new isTableEnabled_result();
             result.success = o;
             result.setSuccessIsSet(true);
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             isTableEnabled_result result = new isTableEnabled_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5040,7 +5257,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, isTableEnabled_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+      public void start(I iface, isTableEnabled_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isTableEnabled(args.tableName,resultHandler);
       }
     }
@@ -5054,40 +5271,48 @@ public class Hbase {
         return new compact_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             compact_result result = new compact_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             compact_result result = new compact_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5096,7 +5321,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, compact_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, compact_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.compact(args.tableNameOrRegionName,resultHandler);
       }
     }
@@ -5110,40 +5335,48 @@ public class Hbase {
         return new majorCompact_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             majorCompact_result result = new majorCompact_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             majorCompact_result result = new majorCompact_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5152,12 +5385,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, majorCompact_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, majorCompact_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.majorCompact(args.tableNameOrRegionName,resultHandler);
       }
     }
 
-    public static class getTableNames<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTableNames_args, List<ByteBuffer>> {
+    public static class getTableNames<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTableNames_args, java.util.List<java.nio.ByteBuffer>> {
       public getTableNames() {
         super("getTableNames");
       }
@@ -5166,41 +5399,49 @@ public class Hbase {
         return new getTableNames_args();
       }
 
-      public AsyncMethodCallback<List<ByteBuffer>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.nio.ByteBuffer>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<ByteBuffer>>() { 
-          public void onComplete(List<ByteBuffer> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.nio.ByteBuffer>>() {
+          public void onComplete(java.util.List<java.nio.ByteBuffer> o) {
             getTableNames_result result = new getTableNames_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             getTableNames_result result = new getTableNames_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5209,12 +5450,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, getTableNames_args args, org.apache.thrift.async.AsyncMethodCallback<List<ByteBuffer>> resultHandler) throws TException {
+      public void start(I iface, getTableNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.nio.ByteBuffer>> resultHandler) throws org.apache.thrift.TException {
         iface.getTableNames(resultHandler);
       }
     }
 
-    public static class getColumnDescriptors<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getColumnDescriptors_args, Map<ByteBuffer,ColumnDescriptor>> {
+    public static class getColumnDescriptors<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getColumnDescriptors_args, java.util.Map<java.nio.ByteBuffer,ColumnDescriptor>> {
       public getColumnDescriptors() {
         super("getColumnDescriptors");
       }
@@ -5223,41 +5464,49 @@ public class Hbase {
         return new getColumnDescriptors_args();
       }
 
-      public AsyncMethodCallback<Map<ByteBuffer,ColumnDescriptor>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.nio.ByteBuffer,ColumnDescriptor>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Map<ByteBuffer,ColumnDescriptor>>() { 
-          public void onComplete(Map<ByteBuffer,ColumnDescriptor> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.nio.ByteBuffer,ColumnDescriptor>>() {
+          public void onComplete(java.util.Map<java.nio.ByteBuffer,ColumnDescriptor> o) {
             getColumnDescriptors_result result = new getColumnDescriptors_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             getColumnDescriptors_result result = new getColumnDescriptors_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5266,12 +5515,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, getColumnDescriptors_args args, org.apache.thrift.async.AsyncMethodCallback<Map<ByteBuffer,ColumnDescriptor>> resultHandler) throws TException {
+      public void start(I iface, getColumnDescriptors_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.nio.ByteBuffer,ColumnDescriptor>> resultHandler) throws org.apache.thrift.TException {
         iface.getColumnDescriptors(args.tableName,resultHandler);
       }
     }
 
-    public static class getTableRegions<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTableRegions_args, List<TRegionInfo>> {
+    public static class getTableRegions<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getTableRegions_args, java.util.List<TRegionInfo>> {
       public getTableRegions() {
         super("getTableRegions");
       }
@@ -5280,41 +5529,49 @@ public class Hbase {
         return new getTableRegions_args();
       }
 
-      public AsyncMethodCallback<List<TRegionInfo>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRegionInfo>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TRegionInfo>>() { 
-          public void onComplete(List<TRegionInfo> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRegionInfo>>() {
+          public void onComplete(java.util.List<TRegionInfo> o) {
             getTableRegions_result result = new getTableRegions_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             getTableRegions_result result = new getTableRegions_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5323,7 +5580,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, getTableRegions_args args, org.apache.thrift.async.AsyncMethodCallback<List<TRegionInfo>> resultHandler) throws TException {
+      public void start(I iface, getTableRegions_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRegionInfo>> resultHandler) throws org.apache.thrift.TException {
         iface.getTableRegions(args.tableName,resultHandler);
       }
     }
@@ -5337,50 +5594,56 @@ public class Hbase {
         return new createTable_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             createTable_result result = new createTable_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             createTable_result result = new createTable_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof IllegalArgument) {
-                        result.ia = (IllegalArgument) e;
-                        result.setIaIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof AlreadyExists) {
-                        result.exist = (AlreadyExists) e;
-                        result.setExistIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof IllegalArgument) {
+              result.ia = (IllegalArgument) e;
+              result.setIaIsSet(true);
+              msg = result;
+            } else if (e instanceof AlreadyExists) {
+              result.exist = (AlreadyExists) e;
+              result.setExistIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5389,7 +5652,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, createTable_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, createTable_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.createTable(args.tableName, args.columnFamilies,resultHandler);
       }
     }
@@ -5403,40 +5666,48 @@ public class Hbase {
         return new deleteTable_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             deleteTable_result result = new deleteTable_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             deleteTable_result result = new deleteTable_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5445,12 +5716,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, deleteTable_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, deleteTable_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.deleteTable(args.tableName,resultHandler);
       }
     }
 
-    public static class get<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_args, List<TCell>> {
+    public static class get<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, get_args, java.util.List<TCell>> {
       public get() {
         super("get");
       }
@@ -5459,41 +5730,49 @@ public class Hbase {
         return new get_args();
       }
 
-      public AsyncMethodCallback<List<TCell>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TCell>>() { 
-          public void onComplete(List<TCell> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>>() {
+          public void onComplete(java.util.List<TCell> o) {
             get_result result = new get_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             get_result result = new get_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5502,12 +5781,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, get_args args, org.apache.thrift.async.AsyncMethodCallback<List<TCell>> resultHandler) throws TException {
+      public void start(I iface, get_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> resultHandler) throws org.apache.thrift.TException {
         iface.get(args.tableName, args.row, args.column, args.attributes,resultHandler);
       }
     }
 
-    public static class getVer<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getVer_args, List<TCell>> {
+    public static class getVer<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getVer_args, java.util.List<TCell>> {
       public getVer() {
         super("getVer");
       }
@@ -5516,41 +5795,49 @@ public class Hbase {
         return new getVer_args();
       }
 
-      public AsyncMethodCallback<List<TCell>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TCell>>() { 
-          public void onComplete(List<TCell> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>>() {
+          public void onComplete(java.util.List<TCell> o) {
             getVer_result result = new getVer_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             getVer_result result = new getVer_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5559,12 +5846,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, getVer_args args, org.apache.thrift.async.AsyncMethodCallback<List<TCell>> resultHandler) throws TException {
+      public void start(I iface, getVer_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> resultHandler) throws org.apache.thrift.TException {
         iface.getVer(args.tableName, args.row, args.column, args.numVersions, args.attributes,resultHandler);
       }
     }
 
-    public static class getVerTs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getVerTs_args, List<TCell>> {
+    public static class getVerTs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getVerTs_args, java.util.List<TCell>> {
       public getVerTs() {
         super("getVerTs");
       }
@@ -5573,41 +5860,49 @@ public class Hbase {
         return new getVerTs_args();
       }
 
-      public AsyncMethodCallback<List<TCell>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TCell>>() { 
-          public void onComplete(List<TCell> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>>() {
+          public void onComplete(java.util.List<TCell> o) {
             getVerTs_result result = new getVerTs_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             getVerTs_result result = new getVerTs_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5616,12 +5911,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, getVerTs_args args, org.apache.thrift.async.AsyncMethodCallback<List<TCell>> resultHandler) throws TException {
+      public void start(I iface, getVerTs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> resultHandler) throws org.apache.thrift.TException {
         iface.getVerTs(args.tableName, args.row, args.column, args.timestamp, args.numVersions, args.attributes,resultHandler);
       }
     }
 
-    public static class getRow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRow_args, List<TRowResult>> {
+    public static class getRow<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRow_args, java.util.List<TRowResult>> {
       public getRow() {
         super("getRow");
       }
@@ -5630,41 +5925,49 @@ public class Hbase {
         return new getRow_args();
       }
 
-      public AsyncMethodCallback<List<TRowResult>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TRowResult>>() { 
-          public void onComplete(List<TRowResult> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>>() {
+          public void onComplete(java.util.List<TRowResult> o) {
             getRow_result result = new getRow_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             getRow_result result = new getRow_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5673,12 +5976,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, getRow_args args, org.apache.thrift.async.AsyncMethodCallback<List<TRowResult>> resultHandler) throws TException {
+      public void start(I iface, getRow_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
         iface.getRow(args.tableName, args.row, args.attributes,resultHandler);
       }
     }
 
-    public static class getRowWithColumns<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRowWithColumns_args, List<TRowResult>> {
+    public static class getRowWithColumns<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRowWithColumns_args, java.util.List<TRowResult>> {
       public getRowWithColumns() {
         super("getRowWithColumns");
       }
@@ -5687,41 +5990,49 @@ public class Hbase {
         return new getRowWithColumns_args();
       }
 
-      public AsyncMethodCallback<List<TRowResult>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TRowResult>>() { 
-          public void onComplete(List<TRowResult> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>>() {
+          public void onComplete(java.util.List<TRowResult> o) {
             getRowWithColumns_result result = new getRowWithColumns_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             getRowWithColumns_result result = new getRowWithColumns_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5730,12 +6041,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, getRowWithColumns_args args, org.apache.thrift.async.AsyncMethodCallback<List<TRowResult>> resultHandler) throws TException {
+      public void start(I iface, getRowWithColumns_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
         iface.getRowWithColumns(args.tableName, args.row, args.columns, args.attributes,resultHandler);
       }
     }
 
-    public static class getRowTs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRowTs_args, List<TRowResult>> {
+    public static class getRowTs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRowTs_args, java.util.List<TRowResult>> {
       public getRowTs() {
         super("getRowTs");
       }
@@ -5744,41 +6055,49 @@ public class Hbase {
         return new getRowTs_args();
       }
 
-      public AsyncMethodCallback<List<TRowResult>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TRowResult>>() { 
-          public void onComplete(List<TRowResult> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>>() {
+          public void onComplete(java.util.List<TRowResult> o) {
             getRowTs_result result = new getRowTs_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             getRowTs_result result = new getRowTs_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5787,12 +6106,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, getRowTs_args args, org.apache.thrift.async.AsyncMethodCallback<List<TRowResult>> resultHandler) throws TException {
+      public void start(I iface, getRowTs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
         iface.getRowTs(args.tableName, args.row, args.timestamp, args.attributes,resultHandler);
       }
     }
 
-    public static class getRowWithColumnsTs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRowWithColumnsTs_args, List<TRowResult>> {
+    public static class getRowWithColumnsTs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRowWithColumnsTs_args, java.util.List<TRowResult>> {
       public getRowWithColumnsTs() {
         super("getRowWithColumnsTs");
       }
@@ -5801,41 +6120,49 @@ public class Hbase {
         return new getRowWithColumnsTs_args();
       }
 
-      public AsyncMethodCallback<List<TRowResult>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TRowResult>>() { 
-          public void onComplete(List<TRowResult> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>>() {
+          public void onComplete(java.util.List<TRowResult> o) {
             getRowWithColumnsTs_result result = new getRowWithColumnsTs_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             getRowWithColumnsTs_result result = new getRowWithColumnsTs_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5844,12 +6171,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, getRowWithColumnsTs_args args, org.apache.thrift.async.AsyncMethodCallback<List<TRowResult>> resultHandler) throws TException {
+      public void start(I iface, getRowWithColumnsTs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
         iface.getRowWithColumnsTs(args.tableName, args.row, args.columns, args.timestamp, args.attributes,resultHandler);
       }
     }
 
-    public static class getRows<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRows_args, List<TRowResult>> {
+    public static class getRows<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRows_args, java.util.List<TRowResult>> {
       public getRows() {
         super("getRows");
       }
@@ -5858,41 +6185,49 @@ public class Hbase {
         return new getRows_args();
       }
 
-      public AsyncMethodCallback<List<TRowResult>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TRowResult>>() { 
-          public void onComplete(List<TRowResult> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>>() {
+          public void onComplete(java.util.List<TRowResult> o) {
             getRows_result result = new getRows_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             getRows_result result = new getRows_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5901,12 +6236,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, getRows_args args, org.apache.thrift.async.AsyncMethodCallback<List<TRowResult>> resultHandler) throws TException {
+      public void start(I iface, getRows_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
         iface.getRows(args.tableName, args.rows, args.attributes,resultHandler);
       }
     }
 
-    public static class getRowsWithColumns<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRowsWithColumns_args, List<TRowResult>> {
+    public static class getRowsWithColumns<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRowsWithColumns_args, java.util.List<TRowResult>> {
       public getRowsWithColumns() {
         super("getRowsWithColumns");
       }
@@ -5915,41 +6250,49 @@ public class Hbase {
         return new getRowsWithColumns_args();
       }
 
-      public AsyncMethodCallback<List<TRowResult>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TRowResult>>() { 
-          public void onComplete(List<TRowResult> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>>() {
+          public void onComplete(java.util.List<TRowResult> o) {
             getRowsWithColumns_result result = new getRowsWithColumns_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             getRowsWithColumns_result result = new getRowsWithColumns_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -5958,12 +6301,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, getRowsWithColumns_args args, org.apache.thrift.async.AsyncMethodCallback<List<TRowResult>> resultHandler) throws TException {
+      public void start(I iface, getRowsWithColumns_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
         iface.getRowsWithColumns(args.tableName, args.rows, args.columns, args.attributes,resultHandler);
       }
     }
 
-    public static class getRowsTs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRowsTs_args, List<TRowResult>> {
+    public static class getRowsTs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRowsTs_args, java.util.List<TRowResult>> {
       public getRowsTs() {
         super("getRowsTs");
       }
@@ -5972,41 +6315,49 @@ public class Hbase {
         return new getRowsTs_args();
       }
 
-      public AsyncMethodCallback<List<TRowResult>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TRowResult>>() { 
-          public void onComplete(List<TRowResult> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>>() {
+          public void onComplete(java.util.List<TRowResult> o) {
             getRowsTs_result result = new getRowsTs_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             getRowsTs_result result = new getRowsTs_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6015,12 +6366,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, getRowsTs_args args, org.apache.thrift.async.AsyncMethodCallback<List<TRowResult>> resultHandler) throws TException {
+      public void start(I iface, getRowsTs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
         iface.getRowsTs(args.tableName, args.rows, args.timestamp, args.attributes,resultHandler);
       }
     }
 
-    public static class getRowsWithColumnsTs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRowsWithColumnsTs_args, List<TRowResult>> {
+    public static class getRowsWithColumnsTs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getRowsWithColumnsTs_args, java.util.List<TRowResult>> {
       public getRowsWithColumnsTs() {
         super("getRowsWithColumnsTs");
       }
@@ -6029,41 +6380,49 @@ public class Hbase {
         return new getRowsWithColumnsTs_args();
       }
 
-      public AsyncMethodCallback<List<TRowResult>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TRowResult>>() { 
-          public void onComplete(List<TRowResult> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>>() {
+          public void onComplete(java.util.List<TRowResult> o) {
             getRowsWithColumnsTs_result result = new getRowsWithColumnsTs_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             getRowsWithColumnsTs_result result = new getRowsWithColumnsTs_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6072,7 +6431,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, getRowsWithColumnsTs_args args, org.apache.thrift.async.AsyncMethodCallback<List<TRowResult>> resultHandler) throws TException {
+      public void start(I iface, getRowsWithColumnsTs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
         iface.getRowsWithColumnsTs(args.tableName, args.rows, args.columns, args.timestamp, args.attributes,resultHandler);
       }
     }
@@ -6086,45 +6445,52 @@ public class Hbase {
         return new mutateRow_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             mutateRow_result result = new mutateRow_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             mutateRow_result result = new mutateRow_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof IllegalArgument) {
-                        result.ia = (IllegalArgument) e;
-                        result.setIaIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof IllegalArgument) {
+              result.ia = (IllegalArgument) e;
+              result.setIaIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6133,7 +6499,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, mutateRow_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, mutateRow_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.mutateRow(args.tableName, args.row, args.mutations, args.attributes,resultHandler);
       }
     }
@@ -6147,45 +6513,52 @@ public class Hbase {
         return new mutateRowTs_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             mutateRowTs_result result = new mutateRowTs_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             mutateRowTs_result result = new mutateRowTs_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof IllegalArgument) {
-                        result.ia = (IllegalArgument) e;
-                        result.setIaIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof IllegalArgument) {
+              result.ia = (IllegalArgument) e;
+              result.setIaIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6194,7 +6567,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, mutateRowTs_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, mutateRowTs_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.mutateRowTs(args.tableName, args.row, args.mutations, args.timestamp, args.attributes,resultHandler);
       }
     }
@@ -6208,45 +6581,52 @@ public class Hbase {
         return new mutateRows_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             mutateRows_result result = new mutateRows_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             mutateRows_result result = new mutateRows_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof IllegalArgument) {
-                        result.ia = (IllegalArgument) e;
-                        result.setIaIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof IllegalArgument) {
+              result.ia = (IllegalArgument) e;
+              result.setIaIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6255,7 +6635,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, mutateRows_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, mutateRows_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.mutateRows(args.tableName, args.rowBatches, args.attributes,resultHandler);
       }
     }
@@ -6269,45 +6649,52 @@ public class Hbase {
         return new mutateRowsTs_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             mutateRowsTs_result result = new mutateRowsTs_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             mutateRowsTs_result result = new mutateRowsTs_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof IllegalArgument) {
-                        result.ia = (IllegalArgument) e;
-                        result.setIaIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof IllegalArgument) {
+              result.ia = (IllegalArgument) e;
+              result.setIaIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6316,12 +6703,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, mutateRowsTs_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, mutateRowsTs_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.mutateRowsTs(args.tableName, args.rowBatches, args.timestamp, args.attributes,resultHandler);
       }
     }
 
-    public static class atomicIncrement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, atomicIncrement_args, Long> {
+    public static class atomicIncrement<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, atomicIncrement_args, java.lang.Long> {
       public atomicIncrement() {
         super("atomicIncrement");
       }
@@ -6330,47 +6717,54 @@ public class Hbase {
         return new atomicIncrement_args();
       }
 
-      public AsyncMethodCallback<Long> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Long>() { 
-          public void onComplete(Long o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Long>() {
+          public void onComplete(java.lang.Long o) {
             atomicIncrement_result result = new atomicIncrement_result();
             result.success = o;
             result.setSuccessIsSet(true);
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             atomicIncrement_result result = new atomicIncrement_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof IllegalArgument) {
-                        result.ia = (IllegalArgument) e;
-                        result.setIaIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof IllegalArgument) {
+              result.ia = (IllegalArgument) e;
+              result.setIaIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6379,7 +6773,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, atomicIncrement_args args, org.apache.thrift.async.AsyncMethodCallback<Long> resultHandler) throws TException {
+      public void start(I iface, atomicIncrement_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Long> resultHandler) throws org.apache.thrift.TException {
         iface.atomicIncrement(args.tableName, args.row, args.column, args.value,resultHandler);
       }
     }
@@ -6393,40 +6787,48 @@ public class Hbase {
         return new deleteAll_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             deleteAll_result result = new deleteAll_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             deleteAll_result result = new deleteAll_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6435,7 +6837,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, deleteAll_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, deleteAll_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.deleteAll(args.tableName, args.row, args.column, args.attributes,resultHandler);
       }
     }
@@ -6449,40 +6851,48 @@ public class Hbase {
         return new deleteAllTs_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             deleteAllTs_result result = new deleteAllTs_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             deleteAllTs_result result = new deleteAllTs_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6491,7 +6901,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, deleteAllTs_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, deleteAllTs_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.deleteAllTs(args.tableName, args.row, args.column, args.timestamp, args.attributes,resultHandler);
       }
     }
@@ -6505,40 +6915,48 @@ public class Hbase {
         return new deleteAllRow_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             deleteAllRow_result result = new deleteAllRow_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             deleteAllRow_result result = new deleteAllRow_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6547,7 +6965,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, deleteAllRow_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, deleteAllRow_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.deleteAllRow(args.tableName, args.row, args.attributes,resultHandler);
       }
     }
@@ -6561,40 +6979,48 @@ public class Hbase {
         return new increment_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             increment_result result = new increment_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             increment_result result = new increment_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6603,7 +7029,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, increment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, increment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.increment(args.increment,resultHandler);
       }
     }
@@ -6617,40 +7043,48 @@ public class Hbase {
         return new incrementRows_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             incrementRows_result result = new incrementRows_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             incrementRows_result result = new incrementRows_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6659,7 +7093,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, incrementRows_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, incrementRows_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.incrementRows(args.increments,resultHandler);
       }
     }
@@ -6673,40 +7107,48 @@ public class Hbase {
         return new deleteAllRowTs_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             deleteAllRowTs_result result = new deleteAllRowTs_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             deleteAllRowTs_result result = new deleteAllRowTs_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6715,12 +7157,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, deleteAllRowTs_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, deleteAllRowTs_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.deleteAllRowTs(args.tableName, args.row, args.timestamp, args.attributes,resultHandler);
       }
     }
 
-    public static class scannerOpenWithScan<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerOpenWithScan_args, Integer> {
+    public static class scannerOpenWithScan<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerOpenWithScan_args, java.lang.Integer> {
       public scannerOpenWithScan() {
         super("scannerOpenWithScan");
       }
@@ -6729,42 +7171,50 @@ public class Hbase {
         return new scannerOpenWithScan_args();
       }
 
-      public AsyncMethodCallback<Integer> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Integer>() { 
-          public void onComplete(Integer o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer>() {
+          public void onComplete(java.lang.Integer o) {
             scannerOpenWithScan_result result = new scannerOpenWithScan_result();
             result.success = o;
             result.setSuccessIsSet(true);
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             scannerOpenWithScan_result result = new scannerOpenWithScan_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6773,12 +7223,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, scannerOpenWithScan_args args, org.apache.thrift.async.AsyncMethodCallback<Integer> resultHandler) throws TException {
+      public void start(I iface, scannerOpenWithScan_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
         iface.scannerOpenWithScan(args.tableName, args.scan, args.attributes,resultHandler);
       }
     }
 
-    public static class scannerOpen<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerOpen_args, Integer> {
+    public static class scannerOpen<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerOpen_args, java.lang.Integer> {
       public scannerOpen() {
         super("scannerOpen");
       }
@@ -6787,42 +7237,50 @@ public class Hbase {
         return new scannerOpen_args();
       }
 
-      public AsyncMethodCallback<Integer> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Integer>() { 
-          public void onComplete(Integer o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer>() {
+          public void onComplete(java.lang.Integer o) {
             scannerOpen_result result = new scannerOpen_result();
             result.success = o;
             result.setSuccessIsSet(true);
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             scannerOpen_result result = new scannerOpen_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6831,12 +7289,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, scannerOpen_args args, org.apache.thrift.async.AsyncMethodCallback<Integer> resultHandler) throws TException {
+      public void start(I iface, scannerOpen_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
         iface.scannerOpen(args.tableName, args.startRow, args.columns, args.attributes,resultHandler);
       }
     }
 
-    public static class scannerOpenWithStop<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerOpenWithStop_args, Integer> {
+    public static class scannerOpenWithStop<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerOpenWithStop_args, java.lang.Integer> {
       public scannerOpenWithStop() {
         super("scannerOpenWithStop");
       }
@@ -6845,42 +7303,50 @@ public class Hbase {
         return new scannerOpenWithStop_args();
       }
 
-      public AsyncMethodCallback<Integer> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Integer>() { 
-          public void onComplete(Integer o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer>() {
+          public void onComplete(java.lang.Integer o) {
             scannerOpenWithStop_result result = new scannerOpenWithStop_result();
             result.success = o;
             result.setSuccessIsSet(true);
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             scannerOpenWithStop_result result = new scannerOpenWithStop_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6889,12 +7355,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, scannerOpenWithStop_args args, org.apache.thrift.async.AsyncMethodCallback<Integer> resultHandler) throws TException {
+      public void start(I iface, scannerOpenWithStop_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
         iface.scannerOpenWithStop(args.tableName, args.startRow, args.stopRow, args.columns, args.attributes,resultHandler);
       }
     }
 
-    public static class scannerOpenWithPrefix<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerOpenWithPrefix_args, Integer> {
+    public static class scannerOpenWithPrefix<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerOpenWithPrefix_args, java.lang.Integer> {
       public scannerOpenWithPrefix() {
         super("scannerOpenWithPrefix");
       }
@@ -6903,42 +7369,50 @@ public class Hbase {
         return new scannerOpenWithPrefix_args();
       }
 
-      public AsyncMethodCallback<Integer> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Integer>() { 
-          public void onComplete(Integer o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer>() {
+          public void onComplete(java.lang.Integer o) {
             scannerOpenWithPrefix_result result = new scannerOpenWithPrefix_result();
             result.success = o;
             result.setSuccessIsSet(true);
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             scannerOpenWithPrefix_result result = new scannerOpenWithPrefix_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -6947,12 +7421,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, scannerOpenWithPrefix_args args, org.apache.thrift.async.AsyncMethodCallback<Integer> resultHandler) throws TException {
+      public void start(I iface, scannerOpenWithPrefix_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
         iface.scannerOpenWithPrefix(args.tableName, args.startAndPrefix, args.columns, args.attributes,resultHandler);
       }
     }
 
-    public static class scannerOpenTs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerOpenTs_args, Integer> {
+    public static class scannerOpenTs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerOpenTs_args, java.lang.Integer> {
       public scannerOpenTs() {
         super("scannerOpenTs");
       }
@@ -6961,42 +7435,50 @@ public class Hbase {
         return new scannerOpenTs_args();
       }
 
-      public AsyncMethodCallback<Integer> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Integer>() { 
-          public void onComplete(Integer o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer>() {
+          public void onComplete(java.lang.Integer o) {
             scannerOpenTs_result result = new scannerOpenTs_result();
             result.success = o;
             result.setSuccessIsSet(true);
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             scannerOpenTs_result result = new scannerOpenTs_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -7005,12 +7487,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, scannerOpenTs_args args, org.apache.thrift.async.AsyncMethodCallback<Integer> resultHandler) throws TException {
+      public void start(I iface, scannerOpenTs_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
         iface.scannerOpenTs(args.tableName, args.startRow, args.columns, args.timestamp, args.attributes,resultHandler);
       }
     }
 
-    public static class scannerOpenWithStopTs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerOpenWithStopTs_args, Integer> {
+    public static class scannerOpenWithStopTs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerOpenWithStopTs_args, java.lang.Integer> {
       public scannerOpenWithStopTs() {
         super("scannerOpenWithStopTs");
       }
@@ -7019,42 +7501,50 @@ public class Hbase {
         return new scannerOpenWithStopTs_args();
       }
 
-      public AsyncMethodCallback<Integer> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Integer>() { 
-          public void onComplete(Integer o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer>() {
+          public void onComplete(java.lang.Integer o) {
             scannerOpenWithStopTs_result result = new scannerOpenWithStopTs_result();
             result.success = o;
             result.setSuccessIsSet(true);
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             scannerOpenWithStopTs_result result = new scannerOpenWithStopTs_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -7063,12 +7553,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, scannerOpenWithStopTs_args args, org.apache.thrift.async.AsyncMethodCallback<Integer> resultHandler) throws TException {
+      public void start(I iface, scannerOpenWithStopTs_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
         iface.scannerOpenWithStopTs(args.tableName, args.startRow, args.stopRow, args.columns, args.timestamp, args.attributes,resultHandler);
       }
     }
 
-    public static class scannerGet<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerGet_args, List<TRowResult>> {
+    public static class scannerGet<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerGet_args, java.util.List<TRowResult>> {
       public scannerGet() {
         super("scannerGet");
       }
@@ -7077,46 +7567,53 @@ public class Hbase {
         return new scannerGet_args();
       }
 
-      public AsyncMethodCallback<List<TRowResult>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TRowResult>>() { 
-          public void onComplete(List<TRowResult> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>>() {
+          public void onComplete(java.util.List<TRowResult> o) {
             scannerGet_result result = new scannerGet_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             scannerGet_result result = new scannerGet_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof IllegalArgument) {
-                        result.ia = (IllegalArgument) e;
-                        result.setIaIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof IllegalArgument) {
+              result.ia = (IllegalArgument) e;
+              result.setIaIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -7125,12 +7622,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, scannerGet_args args, org.apache.thrift.async.AsyncMethodCallback<List<TRowResult>> resultHandler) throws TException {
+      public void start(I iface, scannerGet_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
         iface.scannerGet(args.id,resultHandler);
       }
     }
 
-    public static class scannerGetList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerGetList_args, List<TRowResult>> {
+    public static class scannerGetList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, scannerGetList_args, java.util.List<TRowResult>> {
       public scannerGetList() {
         super("scannerGetList");
       }
@@ -7139,46 +7636,53 @@ public class Hbase {
         return new scannerGetList_args();
       }
 
-      public AsyncMethodCallback<List<TRowResult>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TRowResult>>() { 
-          public void onComplete(List<TRowResult> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>>() {
+          public void onComplete(java.util.List<TRowResult> o) {
             scannerGetList_result result = new scannerGetList_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             scannerGetList_result result = new scannerGetList_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof IllegalArgument) {
-                        result.ia = (IllegalArgument) e;
-                        result.setIaIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof IllegalArgument) {
+              result.ia = (IllegalArgument) e;
+              result.setIaIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -7187,7 +7691,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, scannerGetList_args args, org.apache.thrift.async.AsyncMethodCallback<List<TRowResult>> resultHandler) throws TException {
+      public void start(I iface, scannerGetList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TRowResult>> resultHandler) throws org.apache.thrift.TException {
         iface.scannerGetList(args.id, args.nbRows,resultHandler);
       }
     }
@@ -7201,45 +7705,52 @@ public class Hbase {
         return new scannerClose_args();
       }
 
-      public AsyncMethodCallback<Void> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Void>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() {
           public void onComplete(Void o) {
             scannerClose_result result = new scannerClose_result();
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             scannerClose_result result = new scannerClose_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof IllegalArgument) {
-                        result.ia = (IllegalArgument) e;
-                        result.setIaIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof IllegalArgument) {
+              result.ia = (IllegalArgument) e;
+              result.setIaIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -7248,7 +7759,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, scannerClose_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws TException {
+      public void start(I iface, scannerClose_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.scannerClose(args.id,resultHandler);
       }
     }
@@ -7262,41 +7773,49 @@ public class Hbase {
         return new getRegionInfo_args();
       }
 
-      public AsyncMethodCallback<TRegionInfo> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<TRegionInfo> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<TRegionInfo>() { 
+        return new org.apache.thrift.async.AsyncMethodCallback<TRegionInfo>() {
           public void onComplete(TRegionInfo o) {
             getRegionInfo_result result = new getRegionInfo_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             getRegionInfo_result result = new getRegionInfo_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -7305,12 +7824,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, getRegionInfo_args args, org.apache.thrift.async.AsyncMethodCallback<TRegionInfo> resultHandler) throws TException {
+      public void start(I iface, getRegionInfo_args args, org.apache.thrift.async.AsyncMethodCallback<TRegionInfo> resultHandler) throws org.apache.thrift.TException {
         iface.getRegionInfo(args.row,resultHandler);
       }
     }
 
-    public static class append<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, append_args, List<TCell>> {
+    public static class append<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, append_args, java.util.List<TCell>> {
       public append() {
         super("append");
       }
@@ -7319,41 +7838,49 @@ public class Hbase {
         return new append_args();
       }
 
-      public AsyncMethodCallback<List<TCell>> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<List<TCell>>() { 
-          public void onComplete(List<TCell> o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>>() {
+          public void onComplete(java.util.List<TCell> o) {
             append_result result = new append_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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             append_result result = new append_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
               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());
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -7362,12 +7889,12 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, append_args args, org.apache.thrift.async.AsyncMethodCallback<List<TCell>> resultHandler) throws TException {
+      public void start(I iface, append_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<TCell>> resultHandler) throws org.apache.thrift.TException {
         iface.append(args.append,resultHandler);
       }
     }
 
-    public static class checkAndPut<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, checkAndPut_args, Boolean> {
+    public static class checkAndPut<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, checkAndPut_args, java.lang.Boolean> {
       public checkAndPut() {
         super("checkAndPut");
       }
@@ -7376,47 +7903,54 @@ public class Hbase {
         return new checkAndPut_args();
       }
 
-      public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<Boolean>() { 
-          public void onComplete(Boolean o) {
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() {
+          public void onComplete(java.lang.Boolean o) {
             checkAndPut_result result = new checkAndPut_result();
             result.success = o;
             result.setSuccessIsSet(true);
             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);
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
             }
-            fb.close();
           }
-          public void onError(Exception e) {
+          public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
+            org.apache.thrift.TSerializable msg;
             checkAndPut_result result = new checkAndPut_result();
             if (e instanceof IOError) {
-                        result.io = (IOError) e;
-                        result.setIoIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof IllegalArgument) {
-                        result.ia = (IllegalArgument) e;
-                        result.setIaIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
+              result.io = (IOError) e;
+              result.setIoIsSet(true);
+              msg = result;
+            } else if (e instanceof IllegalArgument) {
+              result.ia = (IllegalArgument) e;
+              result.setIaIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
               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());
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = 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);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
             }
-            fb.close();
           }
         };
       }
@@ -7425,7 +7959,7 @@ public class Hbase {
         return false;
       }
 
-      public void start(I iface, checkAndPut_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
+      public void start(I iface, checkAndPut_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.checkAndPut(args.tableName, args.row, args.column, args.value, args.mput, args.attributes,resultHandler);
       }
     }
@@ -7437,16 +7971,13 @@ public class Hbase {
 
     private static final org.apache.thrift.protocol.TField TABLE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("tableName", org.apache.thrift.protocol.TType.STRING, (short)1);
 
-    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-    static {
-      schemes.put(StandardScheme.class, new enableTable_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new enableTable_argsTupleSchemeFactory());
-    }
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new enableTable_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new enableTable_argsTupleSchemeFactory();
 
     /**
      * name of the table
      */
-    public ByteBuffer tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -7455,10 +7986,10 @@ public class Hbase {
        */
       TABLE_NAME((short)1, "tableName");
 
-      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
       static {
-        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
           byName.put(field.getFieldName(), field);
         }
       }
@@ -7466,6 +7997,7 @@ public class Hbase {
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // TABLE_NAME
@@ -7481,21 +8013,22 @@ public class Hbase {
        */
       public static _Fields findByThriftIdOrThrow(int fieldId) {
         _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
         return fields;
       }
 
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
-      public static _Fields findByName(String name) {
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
 
       private final short _thriftId;
-      private final String _fieldName;
+      private final java.lang.String _fieldName;
 
-      _Fields(short thriftId, String fieldName) {
+      _Fields(short thriftId, java.lang.String fieldName) {
         _thriftId = thriftId;
         _fieldName = fieldName;
       }
@@ -7504,18 +8037,18 @@ public class Hbase {
         return _thriftId;
       }
 
-      public String getFieldName() {
+      public java.lang.String getFieldName() {
         return _fieldName;
       }
     }
 
     // isset id assignments
-    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    public static final java.util.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);
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.TABLE_NAME, new org.apache.thrift.meta_data.FieldMetaData("tableName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING          , "Bytes")));
-      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(enableTable_args.class, metaDataMap);
     }
 
@@ -7523,7 +8056,7 @@ public class Hbase {
     }
 
     public enableTable_args(
-      ByteBuffer tableName)
+      java.nio.ByteBuffer tableName)
     {
       this();
       this.tableName = org.apache.thrift.TBaseHelper.copyBinary(tableName);
@@ -7534,7 +8067,7 @@ public class Hbase {
      */
     public enableTable_args(enableTable_args other) {
       if (other.isSetTableName()) {
-        this.tableName = other.tableName;
+        this.tableName = org.apache.thrift.TBaseHelper.copyBinary(other.tableName);
       }
     }
 
@@ -7555,7 +8088,7 @@ public class Hbase {
       return tableName == null ? null : tableName.array();
     }
 
-    public ByteBuffer bufferForTableName() {
+    public java.nio.ByteBuffer bufferForTableName() {
       return org.apache.thrift.TBaseHelper.copyBinary(tableName);
     }
 
@@ -7563,11 +8096,11 @@ public class Hbase {
      * name of the table
      */
     public enableTable_args setTableName(byte[] tableName) {
-      this.tableName = tableName == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(tableName, tableName.length));
+      this.tableName = tableName == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(tableName.clone());
       return this;
     }
 
-    public enableTable_args setTableName(ByteBuffer tableName) {
+    public enableTable_args setTableName(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer tableName) {
       this.tableName = org.apache.thrift.TBaseHelper.copyBinary(tableName);
       return this;
     }
@@ -7587,43 +8120,48 @@ public class Hbase {
       }
     }
 
-    public void setFieldValue(_Fields field, Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case TABLE_NAME:
         if (value == null) {
           unsetTableName();
         } else {
-          setTableName((ByteBuffer)value);
+          if (value instanceof byte[]) {
+            setTableName((byte[])value);
+          } else {
+            setTableName((java.nio.ByteBuffer)value);
+          }
         }
         break;
 
       }
     }
 
-    public Object getFieldValue(_Fields field) {
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case TABLE_NAME:
         return getTableName();
 
       }
-      throw new IllegalStateException();
+      throw new java.lang.IllegalStateException();
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
     public boolean isSet(_Fields field) {
       if (field == null) {
-        throw new IllegalArgumentException();
+        throw new java.lang.IllegalArgumentException();
       }
 
       switch (field) {
       case TABLE_NAME:
         return isSetTableName();
       }
-      throw new IllegalStateException();
+      throw new java.lang.IllegalStateException();
     }
 
     @Override
-    public boolean equals(Object that) {
+    public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
       if (that instanceof enableTable_args)
@@ -7634,6 +8172,8 @@ public class Hbase {
     public boolean equals(enableTable_args that) {
       if (that == null)
         return false;
+      if (this == that)
+        return true;
 
       boolean this_present_tableName = true && this.isSetTableName();
       boolean that_present_tableName = true && that.isSetTableName();
@@ -7649,14 +8189,13 @@ public class Hbase {
 
     @Override
     public int hashCode() {
-      List<Object> list = new ArrayList<Object>();
+      int hashCode = 1;
 
-      boolean present_tableName = true && (isSetTableName());
-      list.add(present_tableName);
-      if (present_tableName)
-        list.add(tableName);
+      hashCode = hashCode * 8191 + ((isSetTableName()) ? 131071 : 524287);
+      if (isSetTableName())
+        hashCode = hashCode * 8191 + tableName.hashCode();
 
-      return list.hashCode();
+      return hashCode;
     }
 
     @Override
@@ -7667,7 +8206,7 @@ public class Hbase {
 
       int lastComparison = 0;
 
-      lastComparison = Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
+      lastComparison = java.lang.Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7680,21 +8219,22 @@ public class Hbase {
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+      scheme(iprot).read(iprot, this);
     }
 
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+      scheme(oprot).write(oprot, this);
     }
 
     @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("enableTable_args(");
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("enableTable_args(");
       boolean first = true;
 
       sb.append("tableName:");
@@ -7721,7 +8261,7 @@ public class Hbase {
       }
     }
 
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
       try {
         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
       } catch (org.apache.thrift.TException te) {
@@ -7729,13 +8269,13 @@ public class Hbase {
       }
     }
 
-    private static class enableTable_argsStandardSchemeFactory implements SchemeFactory {
+    private static class enableTable_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
       public enableTable_argsStandardScheme getScheme() {
         return new enableTable_argsStandardScheme();
       }
     }
 
-    private static class enableTable_argsStandardScheme extends StandardScheme<enableTable_args> {
+    private static class enableTable_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<enableTable_args> {
 
       public void read(org.apache.thrift.protocol.TProtocol iprot, enableTable_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
@@ -7781,18 +8321,18 @@ public class Hbase {
 
     }
 
-    private static class enableTable_argsTupleSchemeFactory implements SchemeFactory {
+    private static class enableTable_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
       public enableTable_argsTupleScheme getScheme() {
         return new enableTable_argsTupleScheme();
       }
     }
 
-    private static class enableTable_argsTupleScheme extends TupleScheme<enableTable_args> {
+    private static class enableTable_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<enableTable_args> {
 
       @Override
       public void write(org.apache.thrift.protocol.TProtocol prot, enableTable_args struct) throws org.apache.thrift.TException {
-        TTupleProtocol oprot = (TTupleProtocol) prot;
-        BitSet optionals = new BitSet();
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetTableName()) {
           optionals.set(0);
         }
@@ -7804,8 +8344,8 @@ public class Hbase {
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, enableTable_args struct) throws org.apache.thrift.TException {
-        TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(1);
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
           struct.tableName = iprot.readBinary();
           struct.setTableNameIsSet(true);
@@ -7813,6 +8353,9 @@ public class Hbase {
       }
     }
 
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
   }
 
   public static class enableTable_result implements org.apache.thrift.TBase<enableTable_result, enableTable_result._Fields>, java.io.Serializable, Cloneable, Comparable<enableTable_result>   {
@@ -7820,22 +8363,19 @@ public class Hbase {
 
     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 enableTable_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new enableTable_resultTupleSchemeFactory());
-    }
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new enableTable_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new enableTable_resultTupleSchemeFactory();
 
-    public IOError io; // required
+    public @org.apache.thrift.annotation.Nullable IOError io; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       IO((short)1, "io");
 
-      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
       static {
-        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
           byName.put(field.getFieldName(), field);
         }
       }
@@ -7843,6 +8383,7 @@ public class Hbase {
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // IO
@@ -7858,21 +8399,22 @@ public class Hbase {
        */
       public static _Fields findByThriftIdOrThrow(int fieldId) {
         _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
         return fields;
       }
 
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
-      public static _Fields findByName(String name) {
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
 
       private final short _thriftId;
-      private final String _fieldName;
+      private final java.lang.String _fieldName;
 
-      _Fields(short thriftId, String fieldName) {
+      _Fields(short thriftId, java.lang.String fieldName) {
         _thriftId = thriftId;
         _fieldName = fieldName;
       }
@@ -7881,18 +8423,18 @@ public class Hbase {
         return _thriftId;
       }
 
-      public String getFieldName() {
+      public java.lang.String getFieldName() {
         return _fieldName;
       }
     }
 
     // isset id assignments
-    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    public static final java.util.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);
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       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);
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, IOError.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(enableTable_result.class, metaDataMap);
     }
 
@@ -7924,11 +8466,12 @@ public class Hbase {
       this.io = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public IOError getIo() {
       return this.io;
     }
 
-    public enableTable_result setIo(IOError io) {
+    public enableTable_result setIo(@org.apache.thrift.annotation.Nullable IOError io) {
       this.io = io;
       return this;
     }
@@ -7948,7 +8491,7 @@ public class Hbase {
       }
     }
 
-    public void setFieldValue(_Fields field, Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case IO:
         if (value == null) {
@@ -7961,30 +8504,31 @@ public class Hbase {
       }
     }
 
-    public Object getFieldValue(_Fields field) {
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case IO:
         return getIo();
 
       }
-      throw new IllegalStateException();
+      throw new java.lang.IllegalStateException();
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
     public boolean isSet(_Fields field) {
       if (field == null) {
-        throw new IllegalArgumentException();
+        throw new java.lang.IllegalArgumentException();
       }
 
       switch (field) {
       case IO:
         return isSetIo();
       }
-      throw new IllegalStateException();
+      throw new java.lang.IllegalStateException();
     }
 
     @Override
-    public boolean equals(Object that) {
+    public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
       if (that instanceof enableTable_result)
@@ -7995,6 +8539,8 @@ public class Hbase {
     public boolean equals(enableTable_result that) {
       if (that == null)
         return false;
+      if (this == that)
+        return true;
 
       boolean this_present_io = true && this.isSetIo();
       boolean that_present_io = true && that.isSetIo();
@@ -8010,14 +8556,13 @@ public class Hbase {
 
     @Override
     public int hashCode() {
-      List<Object> list = new ArrayList<Object>();
+      int hashCode = 1;
 
-      boolean present_io = true && (isSetIo());
-      list.add(present_io);
-      if (present_io)
-        list.add(io);
+      hashCode = hashCode * 8191 + ((isSetIo()) ? 131071 : 524287);
+      if (isSetIo())
+        hashCode = hashCode * 8191 + io.hashCode();
 
-      return list.hashCode();
+      return hashCode;
     }
 
     @Override
@@ -8028,7 +8573,7 @@ public class Hbase {
 
       int lastComparison = 0;
 
-      lastComparison = Boolean.valueOf(isSetIo()).compareTo(other.isSetIo());
+      lastComparison = java.lang.Boolean.valueOf(isSetIo()).compareTo(other.isSetIo());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8041,21 +8586,22 @@ public class Hbase {
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+      scheme(iprot).read(iprot, this);
     }
 
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+      scheme(oprot).write(oprot, this);
       }
 
     @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("enableTable_result(");
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("enableTable_result(");
       boolean first = true;
 
       sb.append("io:");
@@ -8082,7 +8628,7 @@ public class Hbase {
       }
     }
 
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
       try {
         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
       } catch (org.apache.thrift.TException te) {
@@ -8090,13 +8636,13 @@ public class Hbase {
       }
     }
 
-    private static class enableTable_resultStandardSchemeFactory implements SchemeFactory {
+    private static class enableTable_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
       public enableTable_resultStandardScheme getScheme() {
         return new enableTable_resultStandardScheme();
       }
     }
 
-    private static class enableTable_resultStandardScheme extends StandardScheme<enableTable_result> {
+    private static class enableTable_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<enableTable_result> {
 
       public void read(org.apache.thrift.protocol.TProtocol iprot, enableTable_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
@@ -8143,18 +8689,18 @@ public class Hbase {
 
     }
 
-    private static class enableTable_resultTupleSchemeFactory implements SchemeFactory {
+    private static class enableTable_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
       public enableTable_resultTupleScheme getScheme() {
         return new enableTable_resultTupleScheme();
       }
     }
 
-    private static class enableTable_resultTupleScheme extends TupleScheme<enableTable_result> {
+    private static class enableTable_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<enableTable_result> {
 
       @Override
       public void write(org.apache.thrift.protocol.TProtocol prot, enableTable_result struct) throws org.apache.thrift.TException {
-        TTupleProtocol oprot = (TTupleProtocol) prot;
-        BitSet optionals = new BitSet();
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetIo()) {
           optionals.set(0);
         }
@@ -8166,8 +8712,8 @@ public class Hbase {
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, enableTable_result struct) throws org.apache.thrift.TException {
-        TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(1);
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
           struct.io = new IOError();
           struct.io.read(iprot);
@@ -8176,6 +8722,9 @@ public class Hbase {
       }
     }
 
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
   }
 
   public static class disableTable_args implements org.apache.thrift.TBase<disableTable_args, disableTable_args._Fields>, java.io.Serializable, Cloneable, Comparable<disableTable_args>   {
@@ -8183,16 +8732,13 @@ public class Hbase {
 
     private static final org.apache.thrift.protocol.TField TABLE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("tableName", org.apache.thrift.protocol.TType.STRING, (short)1);
 
-    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-    static {
-      schemes.put(StandardScheme.class, new disableTable_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new disableTable_argsTupleSchemeFactory());
-    }
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new disableTable_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new disableTable_argsTupleSchemeFactory();
 
     /**
      * name of the table
      */
-    public ByteBuffer tableName; // required
+    public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer tableName; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -8201,10 +8747,10 @@ public class Hbase {
        */
       TABLE_NAME((short)1, "tableName");
 
-      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
       static {
-        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
           byName.put(field.getFieldName(), field);
         }
       }
@@ -8212,6 +8758,7 @@ public class Hbase {
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // TABLE_NAME
@@ -8227,21 +8774,22 @@ public class Hbase {
        */
       public static _Fields findByThriftIdOrThrow(int fieldId) {
         _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
         return fields;
       }
 
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
-      public static _Fields findByName(String name) {
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
 
       private final short _thriftId;
-      private final String _fieldName;
+      private final java.lang.String _fieldName;
 
-      _Fields(short thriftId, String fieldName) {
+      _Fields(short thriftId, java.lang.String fieldName) {
         _thriftId = thriftId;
         _fieldName = fieldName;
       }
@@ -8250,18 +8798,18 @@ public class Hbase {
         return _thriftId;
       }
 
-      public String getFieldName() {
+      public java.lang.String getFieldName() {
         return _fieldName;
       }
     }
 
     // isset id assignments
-    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    public static final java.util.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);
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.TABLE_NAME, new org.apache.thrift.meta_data.FieldMetaData("tableName", org.apache.thrift.TFieldRequirementType.DEFAULT, 
           new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING          , "Bytes")));
-      metaDataMap = Collections.unmodifiableMap(tmpMap);
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(disableTable_args.class, metaDataMap);
     }
 
@@ -8269,7 +8817,7 @@ public class Hbase {
     }
 
     public disableTable_args(
-      ByteBuffer tableName)
+      java.nio.ByteBuffer tableName)
     {
       this();
       this.tableName = org.apache.thrift.TBaseHelper.copyBinary(tableName);
@@ -8280,7 +8828,7 @@ public class Hbase {
      */
     public disableTable_args(disableTable_args other) {
       if (other.isSetTableName()) {
-        this.tableName = other.tableName;
+        this.tableName = org.apache.thrift.TBaseHelper.copyBinary(other.tableName);
       }
     }
 
@@ -8301,7 +8849,7 @@ public class Hbase {
       return tableName == null ? null : tableName.array();
     }
 
-    public ByteBuffer bufferForTableName() {
+    public java.nio.ByteBuffer bufferForTableName() {
       return org.apache.thrift.TBaseHelper.copyBinary(tableName);
     }
 
@@ -8309,11 +8857,11 @@ public class Hbase {
      * name of the table
      */
     public disableTable_args setTableName(byte[] tableName) {
-      this.tableName = tableName == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(tableName, tableName.length));
+      this.tableName = tableName == null ? (java.nio.ByteBuffer)null     : java.nio.ByteBuffer.wrap(tableName.clone());
       return this;
     }
 
-    public disableTable_args setTableName(ByteBuffer tableName) {
+    public disableTable_args setTableName(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer tableName) {
       this.tableName = org.apache.thrift.TBaseHelper.copyBinary(tableName);
       return this;
     }
@@ -8333,43 +8881,48 @@ public class Hbase {
       }
     }
 
-    public void setFieldValue(_Fields field, Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case TABLE_NAME:
         if (value == null) {
           unsetTableName();
         } else {
-          setTableName((ByteBuffer)value);
+          if (value instanceof byte[]) {
+            setTableName((byte[])value);
+          } else {
+            setTableName((java.nio.ByteBuffer)value);
+          }
         }
         break;
 
       }
     }
 
-    public Object getFieldValue(_Fields field) {
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case TABLE_NAME:
         return getTableName();
 
       }
-      throw new IllegalStateException();
+      throw new java.lang.IllegalStateException();
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
     public boolean isSet(_Fields field) {
       if (field == null) {
-        throw new IllegalArgumentException();
+        throw new java.lang.IllegalArgumentException();
       }
 
       switch (field) {
       case TABLE_NAME:
         return isSetTableName();
       }
-      throw new IllegalStateException();
+      throw new java.lang.IllegalStateException();
     }
 
     @Override
-    public boolean equals(Object that) {
+    public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
       if (that instanceof disableTable_args)
@@ -8380,6 +8933,8 @@ public class Hbase {
     public boolean equals(disableTable_args that) {
       if (that == null)
         return false;
+      if (this == that)
+        return true;
 
       boolean this_present_tableName = true && this.isSetTableName();
       boolean that_present_tableName = true && that.isSetTableName();
@@ -8395,14 +8950,13 @@ public class Hbase {
 
     @Override
     public int hashCode() {
-      List<Object> list = new ArrayList<Object>();
+      int hashCode = 1;
 
-      boolean present_tableName = true && (isSetTableName());
-      list.add(present_tableName);
-      if (present_tableName)
-        list.add(tableName);
+      hashCode = hashCode * 8191 + ((isSetTableName()) ? 131071 : 524287);
+      if (isSetTableName())
+        hashCode = hashCode * 8191 + tableName.hashCode();
 
-      return list.hashCode();
+      return hashCode;
     }
 
     @Override
@@ -8413,7 +8967,7 @@ public class Hbase {
 
       int lastComparison = 0;
 
-      lastComparison = Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
+      lastComparison = java.lang.Boolean.valueOf(isSetTableName()).compareTo(other.isSetTableName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8426,21 +8980,22 @@ public class Hbase {
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+      scheme(iprot).read(iprot, this);
     }
 
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+      scheme(oprot).write(oprot, this);
     }
 
     @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("disableTable_args(");
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("disableTable_args(");
       boolean first = true;
 
       sb.append("tableName:");
@@ -8467,7 +9022,7 @@ public class Hbase {
       }
     }
 
-    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
+    private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
       try {
         read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
       } catch (org.apache.thrift.TException te) {
@@ -8475,13 +9030,13 @@ public class Hbase {
       }
     }
 
-    private static class disableTable_argsStandardSchemeFactory implements SchemeFactory {
+    private static class disableTable_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
       public disableTable_argsStandardScheme getScheme() {
         return new disableTable_argsStandardScheme();
       }
     }
 
-    private static class disableTable_argsStandardScheme extends StandardScheme<disableTable_args> {
+    private static class disableTable_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<disableTable_args> {
 
       public void read(org.apache.thrift.protocol.TProtocol iprot, disableTable_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
@@ -8527,18 +9082,18 @@ public class Hbase {
 
     }
 
-    private static class disableTable_argsTupleSchemeFactory implements SchemeFactory {
+    private static class disableTable_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
       public disableTable_argsTupleScheme getScheme() {
         return new disableTable_argsTupleScheme();
       }
     }
 
-    private static class disableTable_argsTupleScheme extends TupleScheme<disableTable_args> {
+    private static class disableTable_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<disableTable_args> {
 
       @Override
       public void write(org.apache.thrift.protocol.TProtocol prot, disableTable_args struct) throws org.apache.thrift.TException {
-        TTupleProtocol oprot = (TTupleProtocol) prot;
-        BitSet optionals = new BitSet();
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
         if (struct.isSetTableName()) {
           optionals.set(0);
         }
@@ -8550,8 +9105,8 @@ public class Hbase {
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, disableTable_args struct) throws org.apache.thrift.TException {
-        TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(1);
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
           struct.tableName = iprot.readBinary();
           struct.setTableNameIsSet(true);
@@ -8559,6 +9114,9 @@ public class Hbase {
       }
     }
 
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
   }
 
   public static class disableTable_result implements org.apache.thrift.TBase<disableTable_result, disableTable_result._Fields>, java.io.Serializable, Cloneable, Comparable<disableTable_result>   {
@@ -8566,22 +9124,19 @@ public class Hbase {
 
     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 disableTable_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new disableTable_resultTupleSchemeFactory());
-    }
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new disableTable_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new disableTable_resultTupleSchemeFactory();
 
-    public IOError io; // required
+    public @org.apache.thrift.annotation.Nullable IOError io; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       IO((short)1, "io");
 
-      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
       static {
-        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
           byName.put(field.getFieldName(), field);
         }
       }
@@ -8589,6 +9144,7 @@ public class Hbase {
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // IO
@@ -8604,21 +9160,22 @@ public class Hbase {
        */
       public static _Fields findByThriftIdOrThrow(int fieldId) {
         _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
         return fields;
       }
 
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
-      public static _Fields findByName(String name) {
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
 
       private final short _thriftId;
-      private final String _fieldName;
+      private final java.lang.String _fieldName;
 
-      _Fields(short thriftId, String fieldName) {
+      _Fields(short thriftId, java.lang.String fieldName) {
         _thriftId = thriftId;
         _fieldName = fieldName;
       }
@@ -8627,18 +9184,18 @@ public class Hbase {
         return _thriftId;
       }
 
-      public String getFieldName() {
+      public java.lang.String getFieldName() {
         return _fieldName;
       }
     }
 
     // isset id assignments
-    public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    public static final java.util.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);
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       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);
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, IOError.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(disableTable_result.class, metaDataMap);
     }
 
@@ -8670,11 +9227,12 @@ public class Hbase {
       this.io = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public IOError getIo() {
       return this.io;
     }
 
-    public disableTable_result setIo(IOError io) {
+    public disableTable_result setIo(@org.apache.thrift.annotation.Nullable IOError io) {
       this.io = io;
       return this;
     }
@@ -8694,7 +9252,7 @@ public class Hbase {
       }
     }
 
-    public void setFieldValue(_Fields field, Object value) {
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case IO:
         if (value == null) {
@@ -8707,30 +9265,31 @@ public class Hbase {
       }
     }
 
-    public Object getFieldValue(_Fields field) {
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case IO:
         return getIo();
 
       }
-      throw new IllegalStateException();
+      throw new java.lang.IllegalStateException();
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
     public boolean isSet(_Fields field) {
       if (field == null) {
-        throw new IllegalArgumentException();
+        throw new java.lang.IllegalArgumentException();
       }
 
       switch (field) {
       case IO:
         return isSetIo();
       }
-      throw new IllegalStateException();
+      throw new java.lang.IllegalStateException();
     }
 
     @Override
-    public boolean equals(Object that) {
+    public boolean equals(java.lang.Object that) {
       if (that == null)
         return false;
       if (that instanceof disableTable_result)
@@ -8741,6 +9300,8 @@ public class Hbase {
     public boolean equals(disableTable_result that) {
       if (that == null)
         return false;
+      if (this == that)
+        return true;
 
       boolean this_present_io = true && this.isSetIo();
       boolean that_present_io = true && that.isSetIo();
@@ -8756,14 +9317,13 @@ public class Hbase {
 
     @Override
     public int hashCode() {
-      List<Object> list = new ArrayList<Object>();
+      int hashCode = 1;
 
-      boolean present_io = true && (isSetIo());
-      list.add(present_io);
-      if (present_io)
-        list.add(io);
+      hashCode = hashCode * 8191 + ((isSetIo()) ? 131071 : 524287);
+      if (isSetIo())
+        hashCode = hashCode * 8191 + io.hashCode();
 
-      return list.hashCode();
+      return hashCode;
     }
 
     @Override
@@ -8774,7 +9334,7 @@ public class Hbase {
 
       int lastComparison = 0;
 
-      lastComparison = Boolean.valueOf(isSetIo()).compareTo(other.isSetIo());
+      lastComparison = java.lang.Boolean.valueOf(isSetIo()).compareTo(other.isSetIo());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8787,21 +9347,22 @@ public class Hbase {
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
+      scheme(iprot).read(iprot, this);
     }
 
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
+      scheme(oprot).write(oprot, this);
       }
 
     @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("disableTable_result(");
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("disableTable_result(");
       boolean first = true;
 
       sb.append("io:");
@@ -8828,7 +9389,7 @@ public class Hbase {
       }
     }
 
... 70664 lines suppressed ...