You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ns...@apache.org on 2011/10/11 19:42:35 UTC

svn commit: r1181928 [2/3] - in /hbase/branches/0.89: ./ src/main/java/org/apache/hadoop/hbase/thrift/ src/main/java/org/apache/hadoop/hbase/thrift/generated/ src/test/java/org/apache/hadoop/hbase/thrift/

Modified: hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java?rev=1181928&r1=1181927&r2=1181928&view=diff
==============================================================================
--- hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java (original)
+++ hbase/branches/0.89/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java Tue Oct 11 17:42:34 2011
@@ -1,23 +1,10 @@
 /**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ * Autogenerated by Thrift
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  */
 package org.apache.hadoop.hbase.thrift.generated;
 
-import org.apache.commons.lang.builder.HashCodeBuilder;
 import java.util.List;
 import java.util.ArrayList;
 import java.util.Map;
@@ -28,12 +15,15 @@ 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 org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import org.apache.thrift.*;
+import org.apache.thrift.async.*;
 import org.apache.thrift.meta_data.*;
+import org.apache.thrift.transport.*;
 import org.apache.thrift.protocol.*;
 
 public class Hbase {
@@ -45,7 +35,7 @@ public class Hbase {
      *
      * @param tableName name of the table
      */
-    public void enableTable(byte[] tableName) throws IOError, TException;
+    public void enableTable(ByteBuffer tableName) throws IOError, TException;
 
     /**
      * Disables a table (takes it off-line) If it is being served, the master
@@ -53,40 +43,43 @@ public class Hbase {
      *
      * @param tableName name of the table
      */
-    public void disableTable(byte[] tableName) throws IOError, TException;
+    public void disableTable(ByteBuffer tableName) throws IOError, TException;
 
     /**
      * @return true if table is on-line
      *
      * @param tableName name of the table to check
      */
-    public boolean isTableEnabled(byte[] tableName) throws IOError, TException;
+    public boolean isTableEnabled(ByteBuffer tableName) throws IOError, TException;
 
-    public void compact(byte[] tableNameOrRegionName) throws IOError, TException;
+    public void compact(ByteBuffer tableNameOrRegionName) throws IOError, TException;
 
-    public void majorCompact(byte[] tableNameOrRegionName) throws IOError, TException;
+    public void majorCompact(ByteBuffer tableNameOrRegionName) throws IOError, TException;
 
     /**
      * List all the userspace tables.
+     *
      * @return returns a list of names
      */
-    public List<byte[]> getTableNames() throws IOError, TException;
+    public List<ByteBuffer> getTableNames() throws IOError, TException;
 
     /**
      * List all the column families assoicated with a table.
+     *
      * @return list of column family descriptors
      *
      * @param tableName table name
      */
-    public Map<byte[],ColumnDescriptor> getColumnDescriptors(byte[] tableName) throws IOError, TException;
+    public Map<ByteBuffer,ColumnDescriptor> getColumnDescriptors(ByteBuffer tableName) throws IOError, TException;
 
     /**
      * List the regions associated with a table.
+     *
      * @return list of region descriptors
      *
      * @param tableName table name
      */
-    public List<TRegionInfo> getTableRegions(byte[] tableName) throws IOError, TException;
+    public List<TRegionInfo> getTableRegions(ByteBuffer tableName) throws IOError, TException;
 
     /**
      * Create a table with the specified column families.  The name
@@ -95,13 +88,14 @@ public class Hbase {
      * values if not explicitly specified.
      *
      * @throws IllegalArgument if an input parameter is invalid
+     *
      * @throws AlreadyExists if the table name already exists
      *
      * @param tableName name of table to create
      *
      * @param columnFamilies list of column family descriptors
      */
-    public void createTable(byte[] tableName, List<ColumnDescriptor> columnFamilies) throws IOError, IllegalArgument, AlreadyExists, TException;
+    public void createTable(ByteBuffer tableName, List<ColumnDescriptor> columnFamilies) throws IOError, IllegalArgument, AlreadyExists, TException;
 
     /**
      * Deletes a table
@@ -111,7 +105,7 @@ public class Hbase {
      *
      * @param tableName name of table to delete
      */
-    public void deleteTable(byte[] tableName) throws IOError, TException;
+    public void deleteTable(ByteBuffer tableName) throws IOError, TException;
 
     /**
      * Get a single TCell for the specified table, row, and column at the
@@ -125,7 +119,7 @@ public class Hbase {
      *
      * @param column column name
      */
-    public List<TCell> get(byte[] tableName, byte[] row, byte[] column) throws IOError, TException;
+    public List<TCell> get(ByteBuffer tableName, ByteBuffer row, ByteBuffer column) throws IOError, TException;
 
     /**
      * Get the specified number of versions for the specified table,
@@ -141,7 +135,7 @@ public class Hbase {
      *
      * @param numVersions number of versions to retrieve
      */
-    public List<TCell> getVer(byte[] tableName, byte[] row, byte[] column, int numVersions) throws IOError, TException;
+    public List<TCell> getVer(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, int numVersions) throws IOError, TException;
 
     /**
      * Get the specified number of versions for the specified table,
@@ -160,7 +154,7 @@ public class Hbase {
      *
      * @param numVersions number of versions to retrieve
      */
-    public List<TCell> getVerTs(byte[] tableName, byte[] row, byte[] column, long timestamp, int numVersions) throws IOError, TException;
+    public List<TCell> getVerTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, int numVersions) throws IOError, TException;
 
     /**
      * Get all the data for the specified table and row at the latest
@@ -172,7 +166,7 @@ public class Hbase {
      *
      * @param row row key
      */
-    public List<TRowResult> getRow(byte[] tableName, byte[] row) throws IOError, TException;
+    public List<TRowResult> getRow(ByteBuffer tableName, ByteBuffer row) throws IOError, TException;
 
     /**
      * Get the specified columns for the specified table and row at the latest
@@ -186,7 +180,7 @@ public class Hbase {
      *
      * @param columns List of columns to return, null for all columns
      */
-    public List<TRowResult> getRowWithColumns(byte[] tableName, byte[] row, List<byte[]> columns) throws IOError, TException;
+    public List<TRowResult> getRowWithColumns(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns) throws IOError, TException;
 
     /**
      * Get all the data for the specified table and row at the specified
@@ -200,7 +194,7 @@ public class Hbase {
      *
      * @param timestamp timestamp
      */
-    public List<TRowResult> getRowTs(byte[] tableName, byte[] row, long timestamp) throws IOError, TException;
+    public List<TRowResult> getRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp) throws IOError, TException;
 
     /**
      * Get the specified columns for the specified table and row at the specified
@@ -216,7 +210,7 @@ public class Hbase {
      *
      * @param timestamp
      */
-    public List<TRowResult> getRowWithColumnsTs(byte[] tableName, byte[] row, List<byte[]> columns, long timestamp) throws IOError, TException;
+    public List<TRowResult> getRowWithColumnsTs(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, long timestamp) throws IOError, TException;
 
     /**
      * Apply a series of mutations (updates/deletes) to a row in a
@@ -230,7 +224,7 @@ public class Hbase {
      *
      * @param mutations list of mutation commands
      */
-    public void mutateRow(byte[] tableName, byte[] row, List<Mutation> mutations) throws IOError, IllegalArgument, TException;
+    public void mutateRow(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations) throws IOError, IllegalArgument, TException;
 
     /**
      * Apply a series of mutations (updates/deletes) to a row in a
@@ -246,7 +240,7 @@ public class Hbase {
      *
      * @param timestamp timestamp
      */
-    public void mutateRowTs(byte[] tableName, byte[] row, List<Mutation> mutations, long timestamp) throws IOError, IllegalArgument, TException;
+    public void mutateRowTs(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, long timestamp) throws IOError, IllegalArgument, TException;
 
     /**
      * Apply a series of batches (each a series of mutations on a single row)
@@ -258,7 +252,7 @@ public class Hbase {
      *
      * @param rowBatches list of row batches
      */
-    public void mutateRows(byte[] tableName, List<BatchMutation> rowBatches) throws IOError, IllegalArgument, TException;
+    public void mutateRows(ByteBuffer tableName, List<BatchMutation> rowBatches) throws IOError, IllegalArgument, TException;
 
     /**
      * Apply a series of batches (each a series of mutations on a single row)
@@ -272,7 +266,7 @@ public class Hbase {
      *
      * @param timestamp timestamp
      */
-    public void mutateRowsTs(byte[] tableName, List<BatchMutation> rowBatches, long timestamp) throws IOError, IllegalArgument, TException;
+    public void mutateRowsTs(ByteBuffer tableName, List<BatchMutation> rowBatches, long timestamp) throws IOError, IllegalArgument, TException;
 
     /**
      * Atomically increment the column value specified.  Returns the next value post increment.
@@ -285,7 +279,7 @@ public class Hbase {
      *
      * @param value amount to increment by
      */
-    public long atomicIncrement(byte[] tableName, byte[] row, byte[] column, long value) throws IOError, IllegalArgument, TException;
+    public long atomicIncrement(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long value) throws IOError, IllegalArgument, TException;
 
     /**
      * Delete all cells that match the passed row and column.
@@ -296,7 +290,7 @@ public class Hbase {
      *
      * @param column name of column whose value is to be deleted
      */
-    public void deleteAll(byte[] tableName, byte[] row, byte[] column) throws IOError, TException;
+    public void deleteAll(ByteBuffer tableName, ByteBuffer row, ByteBuffer column) throws IOError, TException;
 
     /**
      * Delete all cells that match the passed row and column and whose
@@ -310,7 +304,7 @@ public class Hbase {
      *
      * @param timestamp timestamp
      */
-    public void deleteAllTs(byte[] tableName, byte[] row, byte[] column, long timestamp) throws IOError, TException;
+    public void deleteAllTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp) throws IOError, TException;
 
     /**
      * Completely delete the row's cells.
@@ -319,7 +313,7 @@ public class Hbase {
      *
      * @param row key of the row to be completely deleted.
      */
-    public void deleteAllRow(byte[] tableName, byte[] row) throws IOError, TException;
+    public void deleteAllRow(ByteBuffer tableName, ByteBuffer row) throws IOError, TException;
 
     /**
      * Completely delete the row's cells marked with a timestamp
@@ -331,7 +325,7 @@ public class Hbase {
      *
      * @param timestamp timestamp
      */
-    public void deleteAllRowTs(byte[] tableName, byte[] row, long timestamp) throws IOError, TException;
+    public void deleteAllRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp) throws IOError, TException;
 
     /**
      * Get a scanner on the current table starting at the specified row and
@@ -348,7 +342,7 @@ public class Hbase {
      * columns of the specified column family are returned. It's also possible
      * to pass a regex in the column qualifier.
      */
-    public int scannerOpen(byte[] tableName, byte[] startRow, List<byte[]> columns) throws IOError, TException;
+    public int scannerOpen(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns) throws IOError, TException;
 
     /**
      * Get a scanner on the current table starting and stopping at the
@@ -369,7 +363,7 @@ public class Hbase {
      * columns of the specified column family are returned. It's also possible
      * to pass a regex in the column qualifier.
      */
-    public int scannerOpenWithStop(byte[] tableName, byte[] startRow, byte[] stopRow, List<byte[]> columns) throws IOError, TException;
+    public int scannerOpenWithStop(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns) throws IOError, TException;
 
     /**
      * Open a scanner for a given prefix.  That is all rows will have the specified
@@ -383,7 +377,7 @@ public class Hbase {
      *
      * @param columns the columns you want returned
      */
-    public int scannerOpenWithPrefix(byte[] tableName, byte[] startAndPrefix, List<byte[]> columns) throws IOError, TException;
+    public int scannerOpenWithPrefix(ByteBuffer tableName, ByteBuffer startAndPrefix, List<ByteBuffer> columns) throws IOError, TException;
 
     /**
      * Get a scanner on the current table starting at the specified row and
@@ -403,7 +397,7 @@ public class Hbase {
      *
      * @param timestamp timestamp
      */
-    public int scannerOpenTs(byte[] tableName, byte[] startRow, List<byte[]> columns, long timestamp) throws IOError, TException;
+    public int scannerOpenTs(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, long timestamp) throws IOError, TException;
 
     /**
      * Get a scanner on the current table starting and stopping at the
@@ -427,7 +421,7 @@ public class Hbase {
      *
      * @param timestamp timestamp
      */
-    public int scannerOpenWithStopTs(byte[] tableName, byte[] startRow, byte[] stopRow, List<byte[]> columns, long timestamp) throws IOError, TException;
+    public int scannerOpenWithStopTs(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, long timestamp) throws IOError, TException;
 
     /**
      * Returns the scanner's current row value and advances to the next
@@ -436,7 +430,9 @@ public class Hbase {
      * an empty list is returned.
      *
      * @return a TRowResult containing the current row and a map of the columns to TCells.
+     *
      * @throws IllegalArgument if ScannerID is invalid
+     *
      * @throws NotFound when the scanner reaches the end
      *
      * @param id id of a scanner returned by scannerOpen
@@ -450,7 +446,9 @@ public class Hbase {
      * specified stopRow is reached,  an empty list is returned.
      *
      * @return a TRowResult containing the current row and a map of the columns to TCells.
+     *
      * @throws IllegalArgument if ScannerID is invalid
+     *
      * @throws NotFound when the scanner reaches the end
      *
      * @param id id of a scanner returned by scannerOpen
@@ -470,7 +468,89 @@ public class Hbase {
 
   }
 
-  public static class Client implements Iface {
+  public interface AsyncIface {
+
+    public void enableTable(ByteBuffer tableName, AsyncMethodCallback<AsyncClient.enableTable_call> resultHandler) throws TException;
+
+    public void disableTable(ByteBuffer tableName, AsyncMethodCallback<AsyncClient.disableTable_call> resultHandler) throws TException;
+
+    public void isTableEnabled(ByteBuffer tableName, AsyncMethodCallback<AsyncClient.isTableEnabled_call> resultHandler) throws TException;
+
+    public void compact(ByteBuffer tableNameOrRegionName, AsyncMethodCallback<AsyncClient.compact_call> resultHandler) throws TException;
+
+    public void majorCompact(ByteBuffer tableNameOrRegionName, AsyncMethodCallback<AsyncClient.majorCompact_call> resultHandler) throws TException;
+
+    public void getTableNames(AsyncMethodCallback<AsyncClient.getTableNames_call> resultHandler) throws TException;
+
+    public void getColumnDescriptors(ByteBuffer tableName, AsyncMethodCallback<AsyncClient.getColumnDescriptors_call> resultHandler) throws TException;
+
+    public void getTableRegions(ByteBuffer tableName, AsyncMethodCallback<AsyncClient.getTableRegions_call> resultHandler) throws TException;
+
+    public void createTable(ByteBuffer tableName, List<ColumnDescriptor> columnFamilies, AsyncMethodCallback<AsyncClient.createTable_call> resultHandler) throws TException;
+
+    public void deleteTable(ByteBuffer tableName, AsyncMethodCallback<AsyncClient.deleteTable_call> resultHandler) throws TException;
+
+    public void get(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, AsyncMethodCallback<AsyncClient.get_call> resultHandler) throws TException;
+
+    public void getVer(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, int numVersions, AsyncMethodCallback<AsyncClient.getVer_call> resultHandler) throws TException;
+
+    public void getVerTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, int numVersions, AsyncMethodCallback<AsyncClient.getVerTs_call> resultHandler) throws TException;
+
+    public void getRow(ByteBuffer tableName, ByteBuffer row, AsyncMethodCallback<AsyncClient.getRow_call> resultHandler) throws TException;
+
+    public void getRowWithColumns(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, AsyncMethodCallback<AsyncClient.getRowWithColumns_call> resultHandler) throws TException;
+
+    public void getRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp, AsyncMethodCallback<AsyncClient.getRowTs_call> resultHandler) throws TException;
+
+    public void getRowWithColumnsTs(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, long timestamp, AsyncMethodCallback<AsyncClient.getRowWithColumnsTs_call> resultHandler) throws TException;
+
+    public void mutateRow(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, AsyncMethodCallback<AsyncClient.mutateRow_call> resultHandler) throws TException;
+
+    public void mutateRowTs(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, long timestamp, AsyncMethodCallback<AsyncClient.mutateRowTs_call> resultHandler) throws TException;
+
+    public void mutateRows(ByteBuffer tableName, List<BatchMutation> rowBatches, AsyncMethodCallback<AsyncClient.mutateRows_call> resultHandler) throws TException;
+
+    public void mutateRowsTs(ByteBuffer tableName, List<BatchMutation> rowBatches, long timestamp, AsyncMethodCallback<AsyncClient.mutateRowsTs_call> resultHandler) throws TException;
+
+    public void atomicIncrement(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long value, AsyncMethodCallback<AsyncClient.atomicIncrement_call> resultHandler) throws TException;
+
+    public void deleteAll(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, AsyncMethodCallback<AsyncClient.deleteAll_call> resultHandler) throws TException;
+
+    public void deleteAllTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, AsyncMethodCallback<AsyncClient.deleteAllTs_call> resultHandler) throws TException;
+
+    public void deleteAllRow(ByteBuffer tableName, ByteBuffer row, AsyncMethodCallback<AsyncClient.deleteAllRow_call> resultHandler) throws TException;
+
+    public void deleteAllRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp, AsyncMethodCallback<AsyncClient.deleteAllRowTs_call> resultHandler) throws TException;
+
+    public void scannerOpen(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, AsyncMethodCallback<AsyncClient.scannerOpen_call> resultHandler) throws TException;
+
+    public void scannerOpenWithStop(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, AsyncMethodCallback<AsyncClient.scannerOpenWithStop_call> resultHandler) throws TException;
+
+    public void scannerOpenWithPrefix(ByteBuffer tableName, ByteBuffer startAndPrefix, List<ByteBuffer> columns, AsyncMethodCallback<AsyncClient.scannerOpenWithPrefix_call> resultHandler) throws TException;
+
+    public void scannerOpenTs(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, long timestamp, AsyncMethodCallback<AsyncClient.scannerOpenTs_call> resultHandler) throws TException;
+
+    public void scannerOpenWithStopTs(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, long timestamp, AsyncMethodCallback<AsyncClient.scannerOpenWithStopTs_call> resultHandler) throws TException;
+
+    public void scannerGet(int id, AsyncMethodCallback<AsyncClient.scannerGet_call> resultHandler) throws TException;
+
+    public void scannerGetList(int id, int nbRows, AsyncMethodCallback<AsyncClient.scannerGetList_call> resultHandler) throws TException;
+
+    public void scannerClose(int id, AsyncMethodCallback<AsyncClient.scannerClose_call> resultHandler) throws TException;
+
+  }
+
+  public static class Client implements TServiceClient, Iface {
+    public static class Factory implements TServiceClientFactory<Client> {
+      public Factory() {}
+      public Client getClient(TProtocol prot) {
+        return new Client(prot);
+      }
+      public Client getClient(TProtocol iprot, TProtocol oprot) {
+        return new Client(iprot, oprot);
+      }
+    }
+
     public Client(TProtocol prot)
     {
       this(prot, prot);
@@ -497,17 +577,17 @@ public class Hbase {
       return this.oprot_;
     }
 
-    public void enableTable(byte[] tableName) throws IOError, TException
+    public void enableTable(ByteBuffer tableName) throws IOError, TException
     {
       send_enableTable(tableName);
       recv_enableTable();
     }
 
-    public void send_enableTable(byte[] tableName) throws TException
+    public void send_enableTable(ByteBuffer tableName) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("enableTable", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("enableTable", TMessageType.CALL, ++seqid_));
       enableTable_args args = new enableTable_args();
-      args.tableName = tableName;
+      args.setTableName(tableName);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -521,6 +601,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "enableTable failed: out of sequence response");
+      }
       enableTable_result result = new enableTable_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -530,17 +613,17 @@ public class Hbase {
       return;
     }
 
-    public void disableTable(byte[] tableName) throws IOError, TException
+    public void disableTable(ByteBuffer tableName) throws IOError, TException
     {
       send_disableTable(tableName);
       recv_disableTable();
     }
 
-    public void send_disableTable(byte[] tableName) throws TException
+    public void send_disableTable(ByteBuffer tableName) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("disableTable", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("disableTable", TMessageType.CALL, ++seqid_));
       disableTable_args args = new disableTable_args();
-      args.tableName = tableName;
+      args.setTableName(tableName);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -554,6 +637,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "disableTable failed: out of sequence response");
+      }
       disableTable_result result = new disableTable_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -563,17 +649,17 @@ public class Hbase {
       return;
     }
 
-    public boolean isTableEnabled(byte[] tableName) throws IOError, TException
+    public boolean isTableEnabled(ByteBuffer tableName) throws IOError, TException
     {
       send_isTableEnabled(tableName);
       return recv_isTableEnabled();
     }
 
-    public void send_isTableEnabled(byte[] tableName) throws TException
+    public void send_isTableEnabled(ByteBuffer tableName) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("isTableEnabled", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("isTableEnabled", TMessageType.CALL, ++seqid_));
       isTableEnabled_args args = new isTableEnabled_args();
-      args.tableName = tableName;
+      args.setTableName(tableName);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -587,6 +673,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "isTableEnabled failed: out of sequence response");
+      }
       isTableEnabled_result result = new isTableEnabled_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -599,17 +688,17 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "isTableEnabled failed: unknown result");
     }
 
-    public void compact(byte[] tableNameOrRegionName) throws IOError, TException
+    public void compact(ByteBuffer tableNameOrRegionName) throws IOError, TException
     {
       send_compact(tableNameOrRegionName);
       recv_compact();
     }
 
-    public void send_compact(byte[] tableNameOrRegionName) throws TException
+    public void send_compact(ByteBuffer tableNameOrRegionName) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("compact", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("compact", TMessageType.CALL, ++seqid_));
       compact_args args = new compact_args();
-      args.tableNameOrRegionName = tableNameOrRegionName;
+      args.setTableNameOrRegionName(tableNameOrRegionName);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -623,6 +712,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "compact failed: out of sequence response");
+      }
       compact_result result = new compact_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -632,17 +724,17 @@ public class Hbase {
       return;
     }
 
-    public void majorCompact(byte[] tableNameOrRegionName) throws IOError, TException
+    public void majorCompact(ByteBuffer tableNameOrRegionName) throws IOError, TException
     {
       send_majorCompact(tableNameOrRegionName);
       recv_majorCompact();
     }
 
-    public void send_majorCompact(byte[] tableNameOrRegionName) throws TException
+    public void send_majorCompact(ByteBuffer tableNameOrRegionName) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("majorCompact", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("majorCompact", TMessageType.CALL, ++seqid_));
       majorCompact_args args = new majorCompact_args();
-      args.tableNameOrRegionName = tableNameOrRegionName;
+      args.setTableNameOrRegionName(tableNameOrRegionName);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -656,6 +748,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "majorCompact failed: out of sequence response");
+      }
       majorCompact_result result = new majorCompact_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -665,7 +760,7 @@ public class Hbase {
       return;
     }
 
-    public List<byte[]> getTableNames() throws IOError, TException
+    public List<ByteBuffer> getTableNames() throws IOError, TException
     {
       send_getTableNames();
       return recv_getTableNames();
@@ -673,14 +768,14 @@ public class Hbase {
 
     public void send_getTableNames() throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("getTableNames", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("getTableNames", TMessageType.CALL, ++seqid_));
       getTableNames_args args = new getTableNames_args();
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
     }
 
-    public List<byte[]> recv_getTableNames() throws IOError, TException
+    public List<ByteBuffer> recv_getTableNames() throws IOError, TException
     {
       TMessage msg = iprot_.readMessageBegin();
       if (msg.type == TMessageType.EXCEPTION) {
@@ -688,6 +783,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "getTableNames failed: out of sequence response");
+      }
       getTableNames_result result = new getTableNames_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -700,23 +798,23 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "getTableNames failed: unknown result");
     }
 
-    public Map<byte[],ColumnDescriptor> getColumnDescriptors(byte[] tableName) throws IOError, TException
+    public Map<ByteBuffer,ColumnDescriptor> getColumnDescriptors(ByteBuffer tableName) throws IOError, TException
     {
       send_getColumnDescriptors(tableName);
       return recv_getColumnDescriptors();
     }
 
-    public void send_getColumnDescriptors(byte[] tableName) throws TException
+    public void send_getColumnDescriptors(ByteBuffer tableName) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("getColumnDescriptors", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("getColumnDescriptors", TMessageType.CALL, ++seqid_));
       getColumnDescriptors_args args = new getColumnDescriptors_args();
-      args.tableName = tableName;
+      args.setTableName(tableName);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
     }
 
-    public Map<byte[],ColumnDescriptor> recv_getColumnDescriptors() throws IOError, TException
+    public Map<ByteBuffer,ColumnDescriptor> recv_getColumnDescriptors() throws IOError, TException
     {
       TMessage msg = iprot_.readMessageBegin();
       if (msg.type == TMessageType.EXCEPTION) {
@@ -724,6 +822,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "getColumnDescriptors failed: out of sequence response");
+      }
       getColumnDescriptors_result result = new getColumnDescriptors_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -736,17 +837,17 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "getColumnDescriptors failed: unknown result");
     }
 
-    public List<TRegionInfo> getTableRegions(byte[] tableName) throws IOError, TException
+    public List<TRegionInfo> getTableRegions(ByteBuffer tableName) throws IOError, TException
     {
       send_getTableRegions(tableName);
       return recv_getTableRegions();
     }
 
-    public void send_getTableRegions(byte[] tableName) throws TException
+    public void send_getTableRegions(ByteBuffer tableName) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("getTableRegions", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("getTableRegions", TMessageType.CALL, ++seqid_));
       getTableRegions_args args = new getTableRegions_args();
-      args.tableName = tableName;
+      args.setTableName(tableName);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -760,6 +861,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "getTableRegions failed: out of sequence response");
+      }
       getTableRegions_result result = new getTableRegions_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -772,18 +876,18 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "getTableRegions failed: unknown result");
     }
 
-    public void createTable(byte[] tableName, List<ColumnDescriptor> columnFamilies) throws IOError, IllegalArgument, AlreadyExists, TException
+    public void createTable(ByteBuffer tableName, List<ColumnDescriptor> columnFamilies) throws IOError, IllegalArgument, AlreadyExists, TException
     {
       send_createTable(tableName, columnFamilies);
       recv_createTable();
     }
 
-    public void send_createTable(byte[] tableName, List<ColumnDescriptor> columnFamilies) throws TException
+    public void send_createTable(ByteBuffer tableName, List<ColumnDescriptor> columnFamilies) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("createTable", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("createTable", TMessageType.CALL, ++seqid_));
       createTable_args args = new createTable_args();
-      args.tableName = tableName;
-      args.columnFamilies = columnFamilies;
+      args.setTableName(tableName);
+      args.setColumnFamilies(columnFamilies);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -797,6 +901,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "createTable failed: out of sequence response");
+      }
       createTable_result result = new createTable_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -812,17 +919,17 @@ public class Hbase {
       return;
     }
 
-    public void deleteTable(byte[] tableName) throws IOError, TException
+    public void deleteTable(ByteBuffer tableName) throws IOError, TException
     {
       send_deleteTable(tableName);
       recv_deleteTable();
     }
 
-    public void send_deleteTable(byte[] tableName) throws TException
+    public void send_deleteTable(ByteBuffer tableName) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("deleteTable", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("deleteTable", TMessageType.CALL, ++seqid_));
       deleteTable_args args = new deleteTable_args();
-      args.tableName = tableName;
+      args.setTableName(tableName);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -836,6 +943,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "deleteTable failed: out of sequence response");
+      }
       deleteTable_result result = new deleteTable_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -845,19 +955,19 @@ public class Hbase {
       return;
     }
 
-    public List<TCell> get(byte[] tableName, byte[] row, byte[] column) throws IOError, TException
+    public List<TCell> get(ByteBuffer tableName, ByteBuffer row, ByteBuffer column) throws IOError, TException
     {
       send_get(tableName, row, column);
       return recv_get();
     }
 
-    public void send_get(byte[] tableName, byte[] row, byte[] column) throws TException
+    public void send_get(ByteBuffer tableName, ByteBuffer row, ByteBuffer column) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("get", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("get", TMessageType.CALL, ++seqid_));
       get_args args = new get_args();
-      args.tableName = tableName;
-      args.row = row;
-      args.column = column;
+      args.setTableName(tableName);
+      args.setRow(row);
+      args.setColumn(column);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -871,6 +981,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "get failed: out of sequence response");
+      }
       get_result result = new get_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -883,20 +996,20 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "get failed: unknown result");
     }
 
-    public List<TCell> getVer(byte[] tableName, byte[] row, byte[] column, int numVersions) throws IOError, TException
+    public List<TCell> getVer(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, int numVersions) throws IOError, TException
     {
       send_getVer(tableName, row, column, numVersions);
       return recv_getVer();
     }
 
-    public void send_getVer(byte[] tableName, byte[] row, byte[] column, int numVersions) throws TException
+    public void send_getVer(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, int numVersions) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("getVer", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("getVer", TMessageType.CALL, ++seqid_));
       getVer_args args = new getVer_args();
-      args.tableName = tableName;
-      args.row = row;
-      args.column = column;
-      args.numVersions = numVersions;
+      args.setTableName(tableName);
+      args.setRow(row);
+      args.setColumn(column);
+      args.setNumVersions(numVersions);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -910,6 +1023,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "getVer failed: out of sequence response");
+      }
       getVer_result result = new getVer_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -922,21 +1038,21 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "getVer failed: unknown result");
     }
 
-    public List<TCell> getVerTs(byte[] tableName, byte[] row, byte[] column, long timestamp, int numVersions) throws IOError, TException
+    public List<TCell> getVerTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, int numVersions) throws IOError, TException
     {
       send_getVerTs(tableName, row, column, timestamp, numVersions);
       return recv_getVerTs();
     }
 
-    public void send_getVerTs(byte[] tableName, byte[] row, byte[] column, long timestamp, int numVersions) throws TException
+    public void send_getVerTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp, int numVersions) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("getVerTs", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("getVerTs", TMessageType.CALL, ++seqid_));
       getVerTs_args args = new getVerTs_args();
-      args.tableName = tableName;
-      args.row = row;
-      args.column = column;
-      args.timestamp = timestamp;
-      args.numVersions = numVersions;
+      args.setTableName(tableName);
+      args.setRow(row);
+      args.setColumn(column);
+      args.setTimestamp(timestamp);
+      args.setNumVersions(numVersions);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -950,6 +1066,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "getVerTs failed: out of sequence response");
+      }
       getVerTs_result result = new getVerTs_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -962,18 +1081,18 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "getVerTs failed: unknown result");
     }
 
-    public List<TRowResult> getRow(byte[] tableName, byte[] row) throws IOError, TException
+    public List<TRowResult> getRow(ByteBuffer tableName, ByteBuffer row) throws IOError, TException
     {
       send_getRow(tableName, row);
       return recv_getRow();
     }
 
-    public void send_getRow(byte[] tableName, byte[] row) throws TException
+    public void send_getRow(ByteBuffer tableName, ByteBuffer row) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("getRow", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("getRow", TMessageType.CALL, ++seqid_));
       getRow_args args = new getRow_args();
-      args.tableName = tableName;
-      args.row = row;
+      args.setTableName(tableName);
+      args.setRow(row);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -987,6 +1106,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "getRow failed: out of sequence response");
+      }
       getRow_result result = new getRow_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -999,19 +1121,19 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "getRow failed: unknown result");
     }
 
-    public List<TRowResult> getRowWithColumns(byte[] tableName, byte[] row, List<byte[]> columns) throws IOError, TException
+    public List<TRowResult> getRowWithColumns(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns) throws IOError, TException
     {
       send_getRowWithColumns(tableName, row, columns);
       return recv_getRowWithColumns();
     }
 
-    public void send_getRowWithColumns(byte[] tableName, byte[] row, List<byte[]> columns) throws TException
+    public void send_getRowWithColumns(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("getRowWithColumns", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("getRowWithColumns", TMessageType.CALL, ++seqid_));
       getRowWithColumns_args args = new getRowWithColumns_args();
-      args.tableName = tableName;
-      args.row = row;
-      args.columns = columns;
+      args.setTableName(tableName);
+      args.setRow(row);
+      args.setColumns(columns);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1025,6 +1147,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "getRowWithColumns failed: out of sequence response");
+      }
       getRowWithColumns_result result = new getRowWithColumns_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1037,19 +1162,19 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "getRowWithColumns failed: unknown result");
     }
 
-    public List<TRowResult> getRowTs(byte[] tableName, byte[] row, long timestamp) throws IOError, TException
+    public List<TRowResult> getRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp) throws IOError, TException
     {
       send_getRowTs(tableName, row, timestamp);
       return recv_getRowTs();
     }
 
-    public void send_getRowTs(byte[] tableName, byte[] row, long timestamp) throws TException
+    public void send_getRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("getRowTs", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("getRowTs", TMessageType.CALL, ++seqid_));
       getRowTs_args args = new getRowTs_args();
-      args.tableName = tableName;
-      args.row = row;
-      args.timestamp = timestamp;
+      args.setTableName(tableName);
+      args.setRow(row);
+      args.setTimestamp(timestamp);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1063,6 +1188,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "getRowTs failed: out of sequence response");
+      }
       getRowTs_result result = new getRowTs_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1075,20 +1203,20 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "getRowTs failed: unknown result");
     }
 
-    public List<TRowResult> getRowWithColumnsTs(byte[] tableName, byte[] row, List<byte[]> columns, long timestamp) throws IOError, TException
+    public List<TRowResult> getRowWithColumnsTs(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, long timestamp) throws IOError, TException
     {
       send_getRowWithColumnsTs(tableName, row, columns, timestamp);
       return recv_getRowWithColumnsTs();
     }
 
-    public void send_getRowWithColumnsTs(byte[] tableName, byte[] row, List<byte[]> columns, long timestamp) throws TException
+    public void send_getRowWithColumnsTs(ByteBuffer tableName, ByteBuffer row, List<ByteBuffer> columns, long timestamp) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("getRowWithColumnsTs", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("getRowWithColumnsTs", TMessageType.CALL, ++seqid_));
       getRowWithColumnsTs_args args = new getRowWithColumnsTs_args();
-      args.tableName = tableName;
-      args.row = row;
-      args.columns = columns;
-      args.timestamp = timestamp;
+      args.setTableName(tableName);
+      args.setRow(row);
+      args.setColumns(columns);
+      args.setTimestamp(timestamp);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1102,6 +1230,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "getRowWithColumnsTs failed: out of sequence response");
+      }
       getRowWithColumnsTs_result result = new getRowWithColumnsTs_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1114,19 +1245,19 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "getRowWithColumnsTs failed: unknown result");
     }
 
-    public void mutateRow(byte[] tableName, byte[] row, List<Mutation> mutations) throws IOError, IllegalArgument, TException
+    public void mutateRow(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations) throws IOError, IllegalArgument, TException
     {
       send_mutateRow(tableName, row, mutations);
       recv_mutateRow();
     }
 
-    public void send_mutateRow(byte[] tableName, byte[] row, List<Mutation> mutations) throws TException
+    public void send_mutateRow(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("mutateRow", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("mutateRow", TMessageType.CALL, ++seqid_));
       mutateRow_args args = new mutateRow_args();
-      args.tableName = tableName;
-      args.row = row;
-      args.mutations = mutations;
+      args.setTableName(tableName);
+      args.setRow(row);
+      args.setMutations(mutations);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1140,6 +1271,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "mutateRow failed: out of sequence response");
+      }
       mutateRow_result result = new mutateRow_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1152,20 +1286,20 @@ public class Hbase {
       return;
     }
 
-    public void mutateRowTs(byte[] tableName, byte[] row, List<Mutation> mutations, long timestamp) throws IOError, IllegalArgument, TException
+    public void mutateRowTs(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, long timestamp) throws IOError, IllegalArgument, TException
     {
       send_mutateRowTs(tableName, row, mutations, timestamp);
       recv_mutateRowTs();
     }
 
-    public void send_mutateRowTs(byte[] tableName, byte[] row, List<Mutation> mutations, long timestamp) throws TException
+    public void send_mutateRowTs(ByteBuffer tableName, ByteBuffer row, List<Mutation> mutations, long timestamp) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("mutateRowTs", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("mutateRowTs", TMessageType.CALL, ++seqid_));
       mutateRowTs_args args = new mutateRowTs_args();
-      args.tableName = tableName;
-      args.row = row;
-      args.mutations = mutations;
-      args.timestamp = timestamp;
+      args.setTableName(tableName);
+      args.setRow(row);
+      args.setMutations(mutations);
+      args.setTimestamp(timestamp);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1179,6 +1313,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "mutateRowTs failed: out of sequence response");
+      }
       mutateRowTs_result result = new mutateRowTs_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1191,18 +1328,18 @@ public class Hbase {
       return;
     }
 
-    public void mutateRows(byte[] tableName, List<BatchMutation> rowBatches) throws IOError, IllegalArgument, TException
+    public void mutateRows(ByteBuffer tableName, List<BatchMutation> rowBatches) throws IOError, IllegalArgument, TException
     {
       send_mutateRows(tableName, rowBatches);
       recv_mutateRows();
     }
 
-    public void send_mutateRows(byte[] tableName, List<BatchMutation> rowBatches) throws TException
+    public void send_mutateRows(ByteBuffer tableName, List<BatchMutation> rowBatches) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("mutateRows", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("mutateRows", TMessageType.CALL, ++seqid_));
       mutateRows_args args = new mutateRows_args();
-      args.tableName = tableName;
-      args.rowBatches = rowBatches;
+      args.setTableName(tableName);
+      args.setRowBatches(rowBatches);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1216,6 +1353,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "mutateRows failed: out of sequence response");
+      }
       mutateRows_result result = new mutateRows_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1228,19 +1368,19 @@ public class Hbase {
       return;
     }
 
-    public void mutateRowsTs(byte[] tableName, List<BatchMutation> rowBatches, long timestamp) throws IOError, IllegalArgument, TException
+    public void mutateRowsTs(ByteBuffer tableName, List<BatchMutation> rowBatches, long timestamp) throws IOError, IllegalArgument, TException
     {
       send_mutateRowsTs(tableName, rowBatches, timestamp);
       recv_mutateRowsTs();
     }
 
-    public void send_mutateRowsTs(byte[] tableName, List<BatchMutation> rowBatches, long timestamp) throws TException
+    public void send_mutateRowsTs(ByteBuffer tableName, List<BatchMutation> rowBatches, long timestamp) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("mutateRowsTs", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("mutateRowsTs", TMessageType.CALL, ++seqid_));
       mutateRowsTs_args args = new mutateRowsTs_args();
-      args.tableName = tableName;
-      args.rowBatches = rowBatches;
-      args.timestamp = timestamp;
+      args.setTableName(tableName);
+      args.setRowBatches(rowBatches);
+      args.setTimestamp(timestamp);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1254,6 +1394,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "mutateRowsTs failed: out of sequence response");
+      }
       mutateRowsTs_result result = new mutateRowsTs_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1266,20 +1409,20 @@ public class Hbase {
       return;
     }
 
-    public long atomicIncrement(byte[] tableName, byte[] row, byte[] column, long value) throws IOError, IllegalArgument, TException
+    public long atomicIncrement(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long value) throws IOError, IllegalArgument, TException
     {
       send_atomicIncrement(tableName, row, column, value);
       return recv_atomicIncrement();
     }
 
-    public void send_atomicIncrement(byte[] tableName, byte[] row, byte[] column, long value) throws TException
+    public void send_atomicIncrement(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long value) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("atomicIncrement", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("atomicIncrement", TMessageType.CALL, ++seqid_));
       atomicIncrement_args args = new atomicIncrement_args();
-      args.tableName = tableName;
-      args.row = row;
-      args.column = column;
-      args.value = value;
+      args.setTableName(tableName);
+      args.setRow(row);
+      args.setColumn(column);
+      args.setValue(value);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1293,6 +1436,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "atomicIncrement failed: out of sequence response");
+      }
       atomicIncrement_result result = new atomicIncrement_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1308,19 +1454,19 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "atomicIncrement failed: unknown result");
     }
 
-    public void deleteAll(byte[] tableName, byte[] row, byte[] column) throws IOError, TException
+    public void deleteAll(ByteBuffer tableName, ByteBuffer row, ByteBuffer column) throws IOError, TException
     {
       send_deleteAll(tableName, row, column);
       recv_deleteAll();
     }
 
-    public void send_deleteAll(byte[] tableName, byte[] row, byte[] column) throws TException
+    public void send_deleteAll(ByteBuffer tableName, ByteBuffer row, ByteBuffer column) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("deleteAll", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("deleteAll", TMessageType.CALL, ++seqid_));
       deleteAll_args args = new deleteAll_args();
-      args.tableName = tableName;
-      args.row = row;
-      args.column = column;
+      args.setTableName(tableName);
+      args.setRow(row);
+      args.setColumn(column);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1334,6 +1480,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "deleteAll failed: out of sequence response");
+      }
       deleteAll_result result = new deleteAll_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1343,20 +1492,20 @@ public class Hbase {
       return;
     }
 
-    public void deleteAllTs(byte[] tableName, byte[] row, byte[] column, long timestamp) throws IOError, TException
+    public void deleteAllTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp) throws IOError, TException
     {
       send_deleteAllTs(tableName, row, column, timestamp);
       recv_deleteAllTs();
     }
 
-    public void send_deleteAllTs(byte[] tableName, byte[] row, byte[] column, long timestamp) throws TException
+    public void send_deleteAllTs(ByteBuffer tableName, ByteBuffer row, ByteBuffer column, long timestamp) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("deleteAllTs", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("deleteAllTs", TMessageType.CALL, ++seqid_));
       deleteAllTs_args args = new deleteAllTs_args();
-      args.tableName = tableName;
-      args.row = row;
-      args.column = column;
-      args.timestamp = timestamp;
+      args.setTableName(tableName);
+      args.setRow(row);
+      args.setColumn(column);
+      args.setTimestamp(timestamp);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1370,6 +1519,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "deleteAllTs failed: out of sequence response");
+      }
       deleteAllTs_result result = new deleteAllTs_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1379,18 +1531,18 @@ public class Hbase {
       return;
     }
 
-    public void deleteAllRow(byte[] tableName, byte[] row) throws IOError, TException
+    public void deleteAllRow(ByteBuffer tableName, ByteBuffer row) throws IOError, TException
     {
       send_deleteAllRow(tableName, row);
       recv_deleteAllRow();
     }
 
-    public void send_deleteAllRow(byte[] tableName, byte[] row) throws TException
+    public void send_deleteAllRow(ByteBuffer tableName, ByteBuffer row) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("deleteAllRow", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("deleteAllRow", TMessageType.CALL, ++seqid_));
       deleteAllRow_args args = new deleteAllRow_args();
-      args.tableName = tableName;
-      args.row = row;
+      args.setTableName(tableName);
+      args.setRow(row);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1404,6 +1556,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "deleteAllRow failed: out of sequence response");
+      }
       deleteAllRow_result result = new deleteAllRow_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1413,19 +1568,19 @@ public class Hbase {
       return;
     }
 
-    public void deleteAllRowTs(byte[] tableName, byte[] row, long timestamp) throws IOError, TException
+    public void deleteAllRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp) throws IOError, TException
     {
       send_deleteAllRowTs(tableName, row, timestamp);
       recv_deleteAllRowTs();
     }
 
-    public void send_deleteAllRowTs(byte[] tableName, byte[] row, long timestamp) throws TException
+    public void send_deleteAllRowTs(ByteBuffer tableName, ByteBuffer row, long timestamp) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("deleteAllRowTs", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("deleteAllRowTs", TMessageType.CALL, ++seqid_));
       deleteAllRowTs_args args = new deleteAllRowTs_args();
-      args.tableName = tableName;
-      args.row = row;
-      args.timestamp = timestamp;
+      args.setTableName(tableName);
+      args.setRow(row);
+      args.setTimestamp(timestamp);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1439,6 +1594,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "deleteAllRowTs failed: out of sequence response");
+      }
       deleteAllRowTs_result result = new deleteAllRowTs_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1448,19 +1606,19 @@ public class Hbase {
       return;
     }
 
-    public int scannerOpen(byte[] tableName, byte[] startRow, List<byte[]> columns) throws IOError, TException
+    public int scannerOpen(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns) throws IOError, TException
     {
       send_scannerOpen(tableName, startRow, columns);
       return recv_scannerOpen();
     }
 
-    public void send_scannerOpen(byte[] tableName, byte[] startRow, List<byte[]> columns) throws TException
+    public void send_scannerOpen(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("scannerOpen", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("scannerOpen", TMessageType.CALL, ++seqid_));
       scannerOpen_args args = new scannerOpen_args();
-      args.tableName = tableName;
-      args.startRow = startRow;
-      args.columns = columns;
+      args.setTableName(tableName);
+      args.setStartRow(startRow);
+      args.setColumns(columns);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1474,6 +1632,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "scannerOpen failed: out of sequence response");
+      }
       scannerOpen_result result = new scannerOpen_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1486,20 +1647,20 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "scannerOpen failed: unknown result");
     }
 
-    public int scannerOpenWithStop(byte[] tableName, byte[] startRow, byte[] stopRow, List<byte[]> columns) throws IOError, TException
+    public int scannerOpenWithStop(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns) throws IOError, TException
     {
       send_scannerOpenWithStop(tableName, startRow, stopRow, columns);
       return recv_scannerOpenWithStop();
     }
 
-    public void send_scannerOpenWithStop(byte[] tableName, byte[] startRow, byte[] stopRow, List<byte[]> columns) throws TException
+    public void send_scannerOpenWithStop(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("scannerOpenWithStop", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("scannerOpenWithStop", TMessageType.CALL, ++seqid_));
       scannerOpenWithStop_args args = new scannerOpenWithStop_args();
-      args.tableName = tableName;
-      args.startRow = startRow;
-      args.stopRow = stopRow;
-      args.columns = columns;
+      args.setTableName(tableName);
+      args.setStartRow(startRow);
+      args.setStopRow(stopRow);
+      args.setColumns(columns);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1513,6 +1674,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "scannerOpenWithStop failed: out of sequence response");
+      }
       scannerOpenWithStop_result result = new scannerOpenWithStop_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1525,19 +1689,19 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "scannerOpenWithStop failed: unknown result");
     }
 
-    public int scannerOpenWithPrefix(byte[] tableName, byte[] startAndPrefix, List<byte[]> columns) throws IOError, TException
+    public int scannerOpenWithPrefix(ByteBuffer tableName, ByteBuffer startAndPrefix, List<ByteBuffer> columns) throws IOError, TException
     {
       send_scannerOpenWithPrefix(tableName, startAndPrefix, columns);
       return recv_scannerOpenWithPrefix();
     }
 
-    public void send_scannerOpenWithPrefix(byte[] tableName, byte[] startAndPrefix, List<byte[]> columns) throws TException
+    public void send_scannerOpenWithPrefix(ByteBuffer tableName, ByteBuffer startAndPrefix, List<ByteBuffer> columns) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("scannerOpenWithPrefix", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("scannerOpenWithPrefix", TMessageType.CALL, ++seqid_));
       scannerOpenWithPrefix_args args = new scannerOpenWithPrefix_args();
-      args.tableName = tableName;
-      args.startAndPrefix = startAndPrefix;
-      args.columns = columns;
+      args.setTableName(tableName);
+      args.setStartAndPrefix(startAndPrefix);
+      args.setColumns(columns);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1551,6 +1715,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "scannerOpenWithPrefix failed: out of sequence response");
+      }
       scannerOpenWithPrefix_result result = new scannerOpenWithPrefix_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1563,20 +1730,20 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "scannerOpenWithPrefix failed: unknown result");
     }
 
-    public int scannerOpenTs(byte[] tableName, byte[] startRow, List<byte[]> columns, long timestamp) throws IOError, TException
+    public int scannerOpenTs(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, long timestamp) throws IOError, TException
     {
       send_scannerOpenTs(tableName, startRow, columns, timestamp);
       return recv_scannerOpenTs();
     }
 
-    public void send_scannerOpenTs(byte[] tableName, byte[] startRow, List<byte[]> columns, long timestamp) throws TException
+    public void send_scannerOpenTs(ByteBuffer tableName, ByteBuffer startRow, List<ByteBuffer> columns, long timestamp) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("scannerOpenTs", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("scannerOpenTs", TMessageType.CALL, ++seqid_));
       scannerOpenTs_args args = new scannerOpenTs_args();
-      args.tableName = tableName;
-      args.startRow = startRow;
-      args.columns = columns;
-      args.timestamp = timestamp;
+      args.setTableName(tableName);
+      args.setStartRow(startRow);
+      args.setColumns(columns);
+      args.setTimestamp(timestamp);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1590,6 +1757,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "scannerOpenTs failed: out of sequence response");
+      }
       scannerOpenTs_result result = new scannerOpenTs_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1602,21 +1772,21 @@ public class Hbase {
       throw new TApplicationException(TApplicationException.MISSING_RESULT, "scannerOpenTs failed: unknown result");
     }
 
-    public int scannerOpenWithStopTs(byte[] tableName, byte[] startRow, byte[] stopRow, List<byte[]> columns, long timestamp) throws IOError, TException
+    public int scannerOpenWithStopTs(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, long timestamp) throws IOError, TException
     {
       send_scannerOpenWithStopTs(tableName, startRow, stopRow, columns, timestamp);
       return recv_scannerOpenWithStopTs();
     }
 
-    public void send_scannerOpenWithStopTs(byte[] tableName, byte[] startRow, byte[] stopRow, List<byte[]> columns, long timestamp) throws TException
+    public void send_scannerOpenWithStopTs(ByteBuffer tableName, ByteBuffer startRow, ByteBuffer stopRow, List<ByteBuffer> columns, long timestamp) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("scannerOpenWithStopTs", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("scannerOpenWithStopTs", TMessageType.CALL, ++seqid_));
       scannerOpenWithStopTs_args args = new scannerOpenWithStopTs_args();
-      args.tableName = tableName;
-      args.startRow = startRow;
-      args.stopRow = stopRow;
-      args.columns = columns;
-      args.timestamp = timestamp;
+      args.setTableName(tableName);
+      args.setStartRow(startRow);
+      args.setStopRow(stopRow);
+      args.setColumns(columns);
+      args.setTimestamp(timestamp);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1630,6 +1800,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "scannerOpenWithStopTs failed: out of sequence response");
+      }
       scannerOpenWithStopTs_result result = new scannerOpenWithStopTs_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1650,9 +1823,9 @@ public class Hbase {
 
     public void send_scannerGet(int id) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("scannerGet", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("scannerGet", TMessageType.CALL, ++seqid_));
       scannerGet_args args = new scannerGet_args();
-      args.id = id;
+      args.setId(id);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1666,6 +1839,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "scannerGet failed: out of sequence response");
+      }
       scannerGet_result result = new scannerGet_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1689,10 +1865,10 @@ public class Hbase {
 
     public void send_scannerGetList(int id, int nbRows) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("scannerGetList", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("scannerGetList", TMessageType.CALL, ++seqid_));
       scannerGetList_args args = new scannerGetList_args();
-      args.id = id;
-      args.nbRows = nbRows;
+      args.setId(id);
+      args.setNbRows(nbRows);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1706,6 +1882,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "scannerGetList failed: out of sequence response");
+      }
       scannerGetList_result result = new scannerGetList_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1729,9 +1908,9 @@ public class Hbase {
 
     public void send_scannerClose(int id) throws TException
     {
-      oprot_.writeMessageBegin(new TMessage("scannerClose", TMessageType.CALL, seqid_));
+      oprot_.writeMessageBegin(new TMessage("scannerClose", TMessageType.CALL, ++seqid_));
       scannerClose_args args = new scannerClose_args();
-      args.id = id;
+      args.setId(id);
       args.write(oprot_);
       oprot_.writeMessageEnd();
       oprot_.getTransport().flush();
@@ -1745,6 +1924,9 @@ public class Hbase {
         iprot_.readMessageEnd();
         throw x;
       }
+      if (msg.seqid != seqid_) {
+        throw new TApplicationException(TApplicationException.BAD_SEQUENCE_ID, "scannerClose failed: out of sequence response");
+      }
       scannerClose_result result = new scannerClose_result();
       result.read(iprot_);
       iprot_.readMessageEnd();
@@ -1758,192 +1940,1468 @@ public class Hbase {
     }
 
   }
-  public static class Processor implements TProcessor {
-    private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName());
-    public Processor(Iface iface)
-    {
-      iface_ = iface;
-      processMap_.put("enableTable", new enableTable());
-      processMap_.put("disableTable", new disableTable());
-      processMap_.put("isTableEnabled", new isTableEnabled());
-      processMap_.put("compact", new compact());
-      processMap_.put("majorCompact", new majorCompact());
-      processMap_.put("getTableNames", new getTableNames());
-      processMap_.put("getColumnDescriptors", new getColumnDescriptors());
-      processMap_.put("getTableRegions", new getTableRegions());
-      processMap_.put("createTable", new createTable());
-      processMap_.put("deleteTable", new deleteTable());
-      processMap_.put("get", new get());
-      processMap_.put("getVer", new getVer());
-      processMap_.put("getVerTs", new getVerTs());
-      processMap_.put("getRow", new getRow());
-      processMap_.put("getRowWithColumns", new getRowWithColumns());
-      processMap_.put("getRowTs", new getRowTs());
-      processMap_.put("getRowWithColumnsTs", new getRowWithColumnsTs());
-      processMap_.put("mutateRow", new mutateRow());
-      processMap_.put("mutateRowTs", new mutateRowTs());
-      processMap_.put("mutateRows", new mutateRows());
-      processMap_.put("mutateRowsTs", new mutateRowsTs());
-      processMap_.put("atomicIncrement", new atomicIncrement());
-      processMap_.put("deleteAll", new deleteAll());
-      processMap_.put("deleteAllTs", new deleteAllTs());
-      processMap_.put("deleteAllRow", new deleteAllRow());
-      processMap_.put("deleteAllRowTs", new deleteAllRowTs());
-      processMap_.put("scannerOpen", new scannerOpen());
-      processMap_.put("scannerOpenWithStop", new scannerOpenWithStop());
-      processMap_.put("scannerOpenWithPrefix", new scannerOpenWithPrefix());
-      processMap_.put("scannerOpenTs", new scannerOpenTs());
-      processMap_.put("scannerOpenWithStopTs", new scannerOpenWithStopTs());
-      processMap_.put("scannerGet", new scannerGet());
-      processMap_.put("scannerGetList", new scannerGetList());
-      processMap_.put("scannerClose", new scannerClose());
+  public static class AsyncClient extends TAsyncClient implements AsyncIface {
+    public static class Factory implements TAsyncClientFactory<AsyncClient> {
+      private TAsyncClientManager clientManager;
+      private TProtocolFactory protocolFactory;
+      public Factory(TAsyncClientManager clientManager, TProtocolFactory protocolFactory) {
+        this.clientManager = clientManager;
+        this.protocolFactory = protocolFactory;
+      }
+      public AsyncClient getAsyncClient(TNonblockingTransport transport) {
+        return new AsyncClient(protocolFactory, clientManager, transport);
+      }
     }
 
-    protected static interface ProcessFunction {
-      public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException;
+    public AsyncClient(TProtocolFactory protocolFactory, TAsyncClientManager clientManager, TNonblockingTransport transport) {
+      super(protocolFactory, clientManager, transport);
     }
 
-    private Iface iface_;
-    protected final HashMap<String,ProcessFunction> processMap_ = new HashMap<String,ProcessFunction>();
+    public void enableTable(ByteBuffer tableName, AsyncMethodCallback<enableTable_call> resultHandler) throws TException {
+      checkReady();
+      enableTable_call method_call = new enableTable_call(tableName, resultHandler, this, protocolFactory, transport);
+      manager.call(method_call);
+    }
 
-    public boolean process(TProtocol iprot, TProtocol oprot) throws TException
-    {
-      TMessage msg = iprot.readMessageBegin();
-      ProcessFunction fn = processMap_.get(msg.name);
-      if (fn == null) {
-        TProtocolUtil.skip(iprot, TType.STRUCT);
-        iprot.readMessageEnd();
-        TApplicationException x = new TApplicationException(TApplicationException.UNKNOWN_METHOD, "Invalid method name: '"+msg.name+"'");
-        oprot.writeMessageBegin(new TMessage(msg.name, TMessageType.EXCEPTION, msg.seqid));
-        x.write(oprot);
-        oprot.writeMessageEnd();
-        oprot.getTransport().flush();
-        return true;
+    public static class enableTable_call extends TAsyncMethodCall {
+      private ByteBuffer tableName;
+      public enableTable_call(ByteBuffer tableName, AsyncMethodCallback<enableTable_call> resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableName = tableName;
       }
-      fn.process(msg.seqid, iprot, oprot);
-      return true;
-    }
 
-    private class enableTable implements ProcessFunction {
-      public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
-      {
+      public void write_args(TProtocol prot) throws TException {
+        prot.writeMessageBegin(new TMessage("enableTable", TMessageType.CALL, 0));
         enableTable_args args = new enableTable_args();
-        args.read(iprot);
-        iprot.readMessageEnd();
-        enableTable_result result = new enableTable_result();
-        try {
-          iface_.enableTable(args.tableName);
-        } catch (IOError io) {
-          result.io = io;
-        } catch (Throwable th) {
-          LOGGER.error("Internal error processing enableTable", th);
-          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing enableTable");
-          oprot.writeMessageBegin(new TMessage("enableTable", TMessageType.EXCEPTION, seqid));
-          x.write(oprot);
-          oprot.writeMessageEnd();
-          oprot.getTransport().flush();
-          return;
+        args.setTableName(tableName);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws IOError, TException {
+        if (getState() != State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        oprot.writeMessageBegin(new TMessage("enableTable", TMessageType.REPLY, seqid));
-        result.write(oprot);
-        oprot.writeMessageEnd();
-        oprot.getTransport().flush();
+        TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array());
+        TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        (new Client(prot)).recv_enableTable();
       }
+    }
 
+    public void disableTable(ByteBuffer tableName, AsyncMethodCallback<disableTable_call> resultHandler) throws TException {
+      checkReady();
+      disableTable_call method_call = new disableTable_call(tableName, resultHandler, this, protocolFactory, transport);
+      manager.call(method_call);
     }
 
-    private class disableTable implements ProcessFunction {
-      public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
-      {
+    public static class disableTable_call extends TAsyncMethodCall {
+      private ByteBuffer tableName;
+      public disableTable_call(ByteBuffer tableName, AsyncMethodCallback<disableTable_call> resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableName = tableName;
+      }
+
+      public void write_args(TProtocol prot) throws TException {
+        prot.writeMessageBegin(new TMessage("disableTable", TMessageType.CALL, 0));
         disableTable_args args = new disableTable_args();
-        args.read(iprot);
-        iprot.readMessageEnd();
-        disableTable_result result = new disableTable_result();
-        try {
-          iface_.disableTable(args.tableName);
-        } catch (IOError io) {
-          result.io = io;
-        } catch (Throwable th) {
-          LOGGER.error("Internal error processing disableTable", th);
-          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing disableTable");
-          oprot.writeMessageBegin(new TMessage("disableTable", TMessageType.EXCEPTION, seqid));
-          x.write(oprot);
-          oprot.writeMessageEnd();
-          oprot.getTransport().flush();
-          return;
+        args.setTableName(tableName);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws IOError, TException {
+        if (getState() != State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        oprot.writeMessageBegin(new TMessage("disableTable", TMessageType.REPLY, seqid));
-        result.write(oprot);
-        oprot.writeMessageEnd();
-        oprot.getTransport().flush();
+        TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array());
+        TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        (new Client(prot)).recv_disableTable();
       }
+    }
 
+    public void isTableEnabled(ByteBuffer tableName, AsyncMethodCallback<isTableEnabled_call> resultHandler) throws TException {
+      checkReady();
+      isTableEnabled_call method_call = new isTableEnabled_call(tableName, resultHandler, this, protocolFactory, transport);
+      manager.call(method_call);
     }
 
-    private class isTableEnabled implements ProcessFunction {
-      public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
-      {
+    public static class isTableEnabled_call extends TAsyncMethodCall {
+      private ByteBuffer tableName;
+      public isTableEnabled_call(ByteBuffer tableName, AsyncMethodCallback<isTableEnabled_call> resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableName = tableName;
+      }
+
+      public void write_args(TProtocol prot) throws TException {
+        prot.writeMessageBegin(new TMessage("isTableEnabled", TMessageType.CALL, 0));
         isTableEnabled_args args = new isTableEnabled_args();
-        args.read(iprot);
-        iprot.readMessageEnd();
-        isTableEnabled_result result = new isTableEnabled_result();
-        try {
-          result.success = iface_.isTableEnabled(args.tableName);
-          result.setSuccessIsSet(true);
-        } catch (IOError io) {
-          result.io = io;
-        } catch (Throwable th) {
-          LOGGER.error("Internal error processing isTableEnabled", th);
-          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing isTableEnabled");
-          oprot.writeMessageBegin(new TMessage("isTableEnabled", TMessageType.EXCEPTION, seqid));
-          x.write(oprot);
-          oprot.writeMessageEnd();
-          oprot.getTransport().flush();
-          return;
+        args.setTableName(tableName);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public boolean getResult() throws IOError, TException {
+        if (getState() != State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        oprot.writeMessageBegin(new TMessage("isTableEnabled", TMessageType.REPLY, seqid));
-        result.write(oprot);
-        oprot.writeMessageEnd();
-        oprot.getTransport().flush();
+        TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array());
+        TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        return (new Client(prot)).recv_isTableEnabled();
       }
+    }
 
+    public void compact(ByteBuffer tableNameOrRegionName, AsyncMethodCallback<compact_call> resultHandler) throws TException {
+      checkReady();
+      compact_call method_call = new compact_call(tableNameOrRegionName, resultHandler, this, protocolFactory, transport);
+      manager.call(method_call);
     }
 
-    private class compact implements ProcessFunction {
-      public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
-      {
+    public static class compact_call extends TAsyncMethodCall {
+      private ByteBuffer tableNameOrRegionName;
+      public compact_call(ByteBuffer tableNameOrRegionName, AsyncMethodCallback<compact_call> resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException {
+        super(client, protocolFactory, transport, resultHandler, false);
+        this.tableNameOrRegionName = tableNameOrRegionName;
+      }
+
+      public void write_args(TProtocol prot) throws TException {
+        prot.writeMessageBegin(new TMessage("compact", TMessageType.CALL, 0));
         compact_args args = new compact_args();
-        args.read(iprot);
-        iprot.readMessageEnd();
-        compact_result result = new compact_result();
-        try {
-          iface_.compact(args.tableNameOrRegionName);
-        } catch (IOError io) {
-          result.io = io;
-        } catch (Throwable th) {
-          LOGGER.error("Internal error processing compact", th);
-          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing compact");
-          oprot.writeMessageBegin(new TMessage("compact", TMessageType.EXCEPTION, seqid));
-          x.write(oprot);
-          oprot.writeMessageEnd();
-          oprot.getTransport().flush();
-          return;
+        args.setTableNameOrRegionName(tableNameOrRegionName);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      public void getResult() throws IOError, TException {
+        if (getState() != State.RESPONSE_READ) {
+          throw new IllegalStateException("Method call not finished!");
         }
-        oprot.writeMessageBegin(new TMessage("compact", TMessageType.REPLY, seqid));
-        result.write(oprot);
-        oprot.writeMessageEnd();
-        oprot.getTransport().flush();
+        TMemoryInputTransport memoryTransport = new TMemoryInputTransport(getFrameBuffer().array());
+        TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport);
+        (new Client(prot)).recv_compact();
       }
+    }
 
+    public void majorCompact(ByteBuffer tableNameOrRegionName, AsyncMethodCallback<majorCompact_call> resultHandler) throws TException {
+      checkReady();
+      majorCompact_call method_call = new majorCompact_call(tableNameOrRegionName, resultHandler, this, protocolFactory, transport);
+      manager.call(method_call);
     }
 
-    private class majorCompact implements ProcessFunction {
-      public void process(int seqid, TProtocol iprot, TProtocol oprot) throws TException
-      {
+    public static class majorCompact_call extends TAsyncMethodCall {
+      private ByteBuffer tableNameOrRegionName;
+      public majorCompact_call(ByteBuffer tableNameOrRegionName, AsyncMethodCallback<majorCompact_call> resultHandler, TAsyncClient client, TProtocolFactory protocolFactory, TNonblockingTransport transport) throws TException {

[... 21818 lines stripped ...]