You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2010/01/20 23:04:38 UTC

svn commit: r901398 [2/3] - in /hadoop/hbase/trunk: ./ lib/ src/java/org/apache/hadoop/hbase/thrift/ src/java/org/apache/hadoop/hbase/thrift/generated/

Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java?rev=901398&r1=901397&r2=901398&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java Wed Jan 20 22:04:37 2010
@@ -1,6 +1,4 @@
-/*
- * Copyright 2009 The Apache Software Foundation
- *
+/**
  * 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
@@ -19,13 +17,21 @@
  */
 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;
 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.util.Arrays;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
-import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.thrift.*;
 import org.apache.thrift.meta_data.*;
 import org.apache.thrift.protocol.*;
@@ -1795,6 +1801,7 @@
 
   }
   public static class Processor implements TProcessor {
+    private static final Logger LOGGER = LoggerFactory.getLogger(Processor.class.getName());
     public Processor(Iface iface)
     {
       iface_ = iface;
@@ -1870,6 +1877,14 @@
           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;
         }
         oprot.writeMessageBegin(new TMessage("enableTable", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -1890,6 +1905,14 @@
           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;
         }
         oprot.writeMessageBegin(new TMessage("disableTable", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -1908,9 +1931,17 @@
         isTableEnabled_result result = new isTableEnabled_result();
         try {
           result.success = iface_.isTableEnabled(args.tableName);
-          result.__isset.success = true;
+          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;
         }
         oprot.writeMessageBegin(new TMessage("isTableEnabled", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -1931,6 +1962,14 @@
           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;
         }
         oprot.writeMessageBegin(new TMessage("compact", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -1951,6 +1990,14 @@
           iface_.majorCompact(args.tableNameOrRegionName);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing majorCompact", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing majorCompact");
+          oprot.writeMessageBegin(new TMessage("majorCompact", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("majorCompact", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -1971,6 +2018,14 @@
           result.success = iface_.getTableNames();
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing getTableNames", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing getTableNames");
+          oprot.writeMessageBegin(new TMessage("getTableNames", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("getTableNames", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -1991,6 +2046,14 @@
           result.success = iface_.getColumnDescriptors(args.tableName);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing getColumnDescriptors", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing getColumnDescriptors");
+          oprot.writeMessageBegin(new TMessage("getColumnDescriptors", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("getColumnDescriptors", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2011,6 +2074,14 @@
           result.success = iface_.getTableRegions(args.tableName);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing getTableRegions", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing getTableRegions");
+          oprot.writeMessageBegin(new TMessage("getTableRegions", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("getTableRegions", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2035,6 +2106,14 @@
           result.ia = ia;
         } catch (AlreadyExists exist) {
           result.exist = exist;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing createTable", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing createTable");
+          oprot.writeMessageBegin(new TMessage("createTable", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("createTable", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2055,6 +2134,14 @@
           iface_.deleteTable(args.tableName);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing deleteTable", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing deleteTable");
+          oprot.writeMessageBegin(new TMessage("deleteTable", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("deleteTable", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2075,6 +2162,14 @@
           result.success = iface_.get(args.tableName, args.row, args.column);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing get", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing get");
+          oprot.writeMessageBegin(new TMessage("get", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("get", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2095,6 +2190,14 @@
           result.success = iface_.getVer(args.tableName, args.row, args.column, args.numVersions);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing getVer", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing getVer");
+          oprot.writeMessageBegin(new TMessage("getVer", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("getVer", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2115,6 +2218,14 @@
           result.success = iface_.getVerTs(args.tableName, args.row, args.column, args.timestamp, args.numVersions);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing getVerTs", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing getVerTs");
+          oprot.writeMessageBegin(new TMessage("getVerTs", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("getVerTs", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2135,6 +2246,14 @@
           result.success = iface_.getRow(args.tableName, args.row);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing getRow", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing getRow");
+          oprot.writeMessageBegin(new TMessage("getRow", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("getRow", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2155,6 +2274,14 @@
           result.success = iface_.getRowWithColumns(args.tableName, args.row, args.columns);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing getRowWithColumns", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing getRowWithColumns");
+          oprot.writeMessageBegin(new TMessage("getRowWithColumns", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("getRowWithColumns", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2175,6 +2302,14 @@
           result.success = iface_.getRowTs(args.tableName, args.row, args.timestamp);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing getRowTs", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing getRowTs");
+          oprot.writeMessageBegin(new TMessage("getRowTs", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("getRowTs", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2195,6 +2330,14 @@
           result.success = iface_.getRowWithColumnsTs(args.tableName, args.row, args.columns, args.timestamp);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing getRowWithColumnsTs", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing getRowWithColumnsTs");
+          oprot.writeMessageBegin(new TMessage("getRowWithColumnsTs", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("getRowWithColumnsTs", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2217,6 +2360,14 @@
           result.io = io;
         } catch (IllegalArgument ia) {
           result.ia = ia;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing mutateRow", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing mutateRow");
+          oprot.writeMessageBegin(new TMessage("mutateRow", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("mutateRow", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2239,6 +2390,14 @@
           result.io = io;
         } catch (IllegalArgument ia) {
           result.ia = ia;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing mutateRowTs", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing mutateRowTs");
+          oprot.writeMessageBegin(new TMessage("mutateRowTs", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("mutateRowTs", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2261,6 +2420,14 @@
           result.io = io;
         } catch (IllegalArgument ia) {
           result.ia = ia;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing mutateRows", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing mutateRows");
+          oprot.writeMessageBegin(new TMessage("mutateRows", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("mutateRows", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2283,6 +2450,14 @@
           result.io = io;
         } catch (IllegalArgument ia) {
           result.ia = ia;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing mutateRowsTs", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing mutateRowsTs");
+          oprot.writeMessageBegin(new TMessage("mutateRowsTs", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("mutateRowsTs", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2301,11 +2476,19 @@
         atomicIncrement_result result = new atomicIncrement_result();
         try {
           result.success = iface_.atomicIncrement(args.tableName, args.row, args.column, args.value);
-          result.__isset.success = true;
+          result.setSuccessIsSet(true);
         } catch (IOError io) {
           result.io = io;
         } catch (IllegalArgument ia) {
           result.ia = ia;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing atomicIncrement", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing atomicIncrement");
+          oprot.writeMessageBegin(new TMessage("atomicIncrement", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("atomicIncrement", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2326,6 +2509,14 @@
           iface_.deleteAll(args.tableName, args.row, args.column);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing deleteAll", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing deleteAll");
+          oprot.writeMessageBegin(new TMessage("deleteAll", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("deleteAll", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2346,6 +2537,14 @@
           iface_.deleteAllTs(args.tableName, args.row, args.column, args.timestamp);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing deleteAllTs", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing deleteAllTs");
+          oprot.writeMessageBegin(new TMessage("deleteAllTs", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("deleteAllTs", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2366,6 +2565,14 @@
           iface_.deleteAllRow(args.tableName, args.row);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing deleteAllRow", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing deleteAllRow");
+          oprot.writeMessageBegin(new TMessage("deleteAllRow", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("deleteAllRow", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2386,6 +2593,14 @@
           iface_.deleteAllRowTs(args.tableName, args.row, args.timestamp);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing deleteAllRowTs", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing deleteAllRowTs");
+          oprot.writeMessageBegin(new TMessage("deleteAllRowTs", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("deleteAllRowTs", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2404,9 +2619,17 @@
         scannerOpen_result result = new scannerOpen_result();
         try {
           result.success = iface_.scannerOpen(args.tableName, args.startRow, args.columns);
-          result.__isset.success = true;
+          result.setSuccessIsSet(true);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing scannerOpen", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing scannerOpen");
+          oprot.writeMessageBegin(new TMessage("scannerOpen", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("scannerOpen", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2425,9 +2648,17 @@
         scannerOpenWithStop_result result = new scannerOpenWithStop_result();
         try {
           result.success = iface_.scannerOpenWithStop(args.tableName, args.startRow, args.stopRow, args.columns);
-          result.__isset.success = true;
+          result.setSuccessIsSet(true);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing scannerOpenWithStop", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing scannerOpenWithStop");
+          oprot.writeMessageBegin(new TMessage("scannerOpenWithStop", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("scannerOpenWithStop", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2446,9 +2677,17 @@
         scannerOpenWithPrefix_result result = new scannerOpenWithPrefix_result();
         try {
           result.success = iface_.scannerOpenWithPrefix(args.tableName, args.startAndPrefix, args.columns);
-          result.__isset.success = true;
+          result.setSuccessIsSet(true);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing scannerOpenWithPrefix", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing scannerOpenWithPrefix");
+          oprot.writeMessageBegin(new TMessage("scannerOpenWithPrefix", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("scannerOpenWithPrefix", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2467,9 +2706,17 @@
         scannerOpenTs_result result = new scannerOpenTs_result();
         try {
           result.success = iface_.scannerOpenTs(args.tableName, args.startRow, args.columns, args.timestamp);
-          result.__isset.success = true;
+          result.setSuccessIsSet(true);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing scannerOpenTs", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing scannerOpenTs");
+          oprot.writeMessageBegin(new TMessage("scannerOpenTs", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("scannerOpenTs", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2488,9 +2735,17 @@
         scannerOpenWithStopTs_result result = new scannerOpenWithStopTs_result();
         try {
           result.success = iface_.scannerOpenWithStopTs(args.tableName, args.startRow, args.stopRow, args.columns, args.timestamp);
-          result.__isset.success = true;
+          result.setSuccessIsSet(true);
         } catch (IOError io) {
           result.io = io;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing scannerOpenWithStopTs", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing scannerOpenWithStopTs");
+          oprot.writeMessageBegin(new TMessage("scannerOpenWithStopTs", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("scannerOpenWithStopTs", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2513,6 +2768,14 @@
           result.io = io;
         } catch (IllegalArgument ia) {
           result.ia = ia;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing scannerGet", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing scannerGet");
+          oprot.writeMessageBegin(new TMessage("scannerGet", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("scannerGet", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2535,6 +2798,14 @@
           result.io = io;
         } catch (IllegalArgument ia) {
           result.ia = ia;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing scannerGetList", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing scannerGetList");
+          oprot.writeMessageBegin(new TMessage("scannerGetList", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("scannerGetList", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2557,6 +2828,14 @@
           result.io = io;
         } catch (IllegalArgument ia) {
           result.ia = ia;
+        } catch (Throwable th) {
+          LOGGER.error("Internal error processing scannerClose", th);
+          TApplicationException x = new TApplicationException(TApplicationException.INTERNAL_ERROR, "Internal error processing scannerClose");
+          oprot.writeMessageBegin(new TMessage("scannerClose", TMessageType.EXCEPTION, seqid));
+          x.write(oprot);
+          oprot.writeMessageEnd();
+          oprot.getTransport().flush();
+          return;
         }
         oprot.writeMessageBegin(new TMessage("scannerClose", TMessageType.REPLY, seqid));
         result.write(oprot);
@@ -2568,16 +2847,72 @@
 
   }
 
-  public static class enableTable_args implements TBase, java.io.Serializable, Cloneable   {
-    private static final long serialVersionUID = 1L;
+  public static class enableTable_args implements TBase<enableTable_args._Fields>, java.io.Serializable, Cloneable, Comparable<enableTable_args>   {
     private static final TStruct STRUCT_DESC = new TStruct("enableTable_args");
+
     private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1);
 
     public byte[] tableName;
-    public static final int TABLENAME = 1;
 
-    public static final Map<Integer, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new HashMap<Integer, FieldMetaData>() {{
-      put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, 
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements TFieldIdEnum {
+      TABLE_NAME((short)1, "tableName");
+
+      private static final Map<Integer, _Fields> byId = new HashMap<Integer, _Fields>();
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byId.put((int)field._thriftId, field);
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        return byId.get(fieldId);
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+
+    public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{
+      put(_Fields.TABLE_NAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, 
           new FieldValueMetaData(TType.STRING)));
     }});
 
@@ -2604,7 +2939,11 @@
       }
     }
 
-    @Override
+    public enableTable_args deepCopy() {
+      return new enableTable_args(this);
+    }
+
+    @Deprecated
     public enableTable_args clone() {
       return new enableTable_args(this);
     }
@@ -2613,15 +2952,16 @@
       return this.tableName;
     }
 
-    public void setTableName(byte[] tableName) {
+    public enableTable_args setTableName(byte[] tableName) {
       this.tableName = tableName;
+      return this;
     }
 
     public void unsetTableName() {
       this.tableName = null;
     }
 
-    // Returns true if field tableName is set (has been asigned a value) and false otherwise
+    /** Returns true if field tableName is set (has been asigned a value) and false otherwise */
     public boolean isSetTableName() {
       return this.tableName != null;
     }
@@ -2632,9 +2972,9 @@
       }
     }
 
-    public void setFieldValue(int fieldID, Object value) {
-      switch (fieldID) {
-      case TABLENAME:
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case TABLE_NAME:
         if (value == null) {
           unsetTableName();
         } else {
@@ -2642,29 +2982,37 @@
         }
         break;
 
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
     }
 
-    public Object getFieldValue(int fieldID) {
-      switch (fieldID) {
-      case TABLENAME:
+    public void setFieldValue(int fieldID, Object value) {
+      setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value);
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case TABLE_NAME:
         return getTableName();
 
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
+      throw new IllegalStateException();
     }
 
-    // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise
-    public boolean isSet(int fieldID) {
-      switch (fieldID) {
-      case TABLENAME:
+    public Object getFieldValue(int fieldId) {
+      return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId));
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      switch (field) {
+      case TABLE_NAME:
         return isSetTableName();
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
+      throw new IllegalStateException();
+    }
+
+    public boolean isSet(int fieldID) {
+      return isSet(_Fields.findByThriftIdOrThrow(fieldID));
     }
 
     @Override
@@ -2694,6 +3042,32 @@
 
     @Override
     public int hashCode() {
+      HashCodeBuilder builder = new HashCodeBuilder();
+
+      boolean present_tableName = true && (isSetTableName());
+      builder.append(present_tableName);
+      if (present_tableName)
+        builder.append(tableName);
+
+      return builder.toHashCode();
+    }
+
+    public int compareTo(enableTable_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+      enableTable_args typedOther = (enableTable_args)other;
+
+      lastComparison = Boolean.valueOf(isSetTableName()).compareTo(isSetTableName());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      lastComparison = TBaseHelper.compareTo(tableName, typedOther.tableName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
       return 0;
     }
 
@@ -2706,24 +3080,24 @@
         if (field.type == TType.STOP) { 
           break;
         }
-        switch (field.id)
-        {
-          case TABLENAME:
-            if (field.type == TType.STRING) {
-              this.tableName = iprot.readBinary();
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          default:
-            TProtocolUtil.skip(iprot, field.type);
-            break;
+        _Fields fieldId = _Fields.findByThriftId(field.id);
+        if (fieldId == null) {
+          TProtocolUtil.skip(iprot, field.type);
+        } else {
+          switch (fieldId) {
+            case TABLE_NAME:
+              if (field.type == TType.STRING) {
+                this.tableName = iprot.readBinary();
+              } else { 
+                TProtocolUtil.skip(iprot, field.type);
+              }
+              break;
+          }
+          iprot.readFieldEnd();
         }
-        iprot.readFieldEnd();
       }
       iprot.readStructEnd();
 
-
       // check for required fields of primitive type, which can't be checked in the validate method
       validate();
     }
@@ -2744,34 +3118,91 @@
     @Override
     public String toString() {
       StringBuilder sb = new StringBuilder("enableTable_args(");
+      boolean first = true;
 
       sb.append("tableName:");
       if (this.tableName == null) {
         sb.append("null");
       } else {
-        sb.append(Bytes.toString(this.tableName));
+        sb.append(this.tableName);
       }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
 
     public void validate() throws TException {
       // check for required fields
-      // check that fields of type enum have valid values
     }
 
   }
 
-  public static class enableTable_result implements TBase, java.io.Serializable, Cloneable   {
-    private static final long serialVersionUID = 1L;
+  public static class enableTable_result implements TBase<enableTable_result._Fields>, java.io.Serializable, Cloneable, Comparable<enableTable_result>   {
     private static final TStruct STRUCT_DESC = new TStruct("enableTable_result");
+
     private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1);
 
     public IOError io;
-    public static final int IO = 1;
 
-    public static final Map<Integer, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new HashMap<Integer, FieldMetaData>() {{
-      put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, 
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements TFieldIdEnum {
+      IO((short)1, "io");
+
+      private static final Map<Integer, _Fields> byId = new HashMap<Integer, _Fields>();
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byId.put((int)field._thriftId, field);
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        return byId.get(fieldId);
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+
+    public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{
+      put(_Fields.IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, 
           new FieldValueMetaData(TType.STRUCT)));
     }});
 
@@ -2798,7 +3229,11 @@
       }
     }
 
-    @Override
+    public enableTable_result deepCopy() {
+      return new enableTable_result(this);
+    }
+
+    @Deprecated
     public enableTable_result clone() {
       return new enableTable_result(this);
     }
@@ -2807,15 +3242,16 @@
       return this.io;
     }
 
-    public void setIo(IOError io) {
+    public enableTable_result setIo(IOError io) {
       this.io = io;
+      return this;
     }
 
     public void unsetIo() {
       this.io = null;
     }
 
-    // Returns true if field io is set (has been asigned a value) and false otherwise
+    /** Returns true if field io is set (has been asigned a value) and false otherwise */
     public boolean isSetIo() {
       return this.io != null;
     }
@@ -2826,8 +3262,8 @@
       }
     }
 
-    public void setFieldValue(int fieldID, Object value) {
-      switch (fieldID) {
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
       case IO:
         if (value == null) {
           unsetIo();
@@ -2836,29 +3272,37 @@
         }
         break;
 
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
     }
 
-    public Object getFieldValue(int fieldID) {
-      switch (fieldID) {
+    public void setFieldValue(int fieldID, Object value) {
+      setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value);
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
       case IO:
         return getIo();
 
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
+      throw new IllegalStateException();
     }
 
-    // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise
-    public boolean isSet(int fieldID) {
-      switch (fieldID) {
+    public Object getFieldValue(int fieldId) {
+      return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId));
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      switch (field) {
       case IO:
         return isSetIo();
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
+      throw new IllegalStateException();
+    }
+
+    public boolean isSet(int fieldID) {
+      return isSet(_Fields.findByThriftIdOrThrow(fieldID));
     }
 
     @Override
@@ -2888,6 +3332,32 @@
 
     @Override
     public int hashCode() {
+      HashCodeBuilder builder = new HashCodeBuilder();
+
+      boolean present_io = true && (isSetIo());
+      builder.append(present_io);
+      if (present_io)
+        builder.append(io);
+
+      return builder.toHashCode();
+    }
+
+    public int compareTo(enableTable_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+      enableTable_result typedOther = (enableTable_result)other;
+
+      lastComparison = Boolean.valueOf(isSetIo()).compareTo(isSetIo());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      lastComparison = TBaseHelper.compareTo(io, typedOther.io);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
       return 0;
     }
 
@@ -2900,25 +3370,25 @@
         if (field.type == TType.STOP) { 
           break;
         }
-        switch (field.id)
-        {
-          case IO:
-            if (field.type == TType.STRUCT) {
-              this.io = new IOError();
-              this.io.read(iprot);
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          default:
-            TProtocolUtil.skip(iprot, field.type);
-            break;
+        _Fields fieldId = _Fields.findByThriftId(field.id);
+        if (fieldId == null) {
+          TProtocolUtil.skip(iprot, field.type);
+        } else {
+          switch (fieldId) {
+            case IO:
+              if (field.type == TType.STRUCT) {
+                this.io = new IOError();
+                this.io.read(iprot);
+              } else { 
+                TProtocolUtil.skip(iprot, field.type);
+              }
+              break;
+          }
+          iprot.readFieldEnd();
         }
-        iprot.readFieldEnd();
       }
       iprot.readStructEnd();
 
-
       // check for required fields of primitive type, which can't be checked in the validate method
       validate();
     }
@@ -2938,6 +3408,7 @@
     @Override
     public String toString() {
       StringBuilder sb = new StringBuilder("enableTable_result(");
+      boolean first = true;
 
       sb.append("io:");
       if (this.io == null) {
@@ -2945,27 +3416,83 @@
       } else {
         sb.append(this.io);
       }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
 
     public void validate() throws TException {
       // check for required fields
-      // check that fields of type enum have valid values
     }
 
   }
 
-  public static class disableTable_args implements TBase, java.io.Serializable, Cloneable   {
-    private static final long serialVersionUID = 1L;
+  public static class disableTable_args implements TBase<disableTable_args._Fields>, java.io.Serializable, Cloneable, Comparable<disableTable_args>   {
     private static final TStruct STRUCT_DESC = new TStruct("disableTable_args");
+
     private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1);
 
     public byte[] tableName;
-    public static final int TABLENAME = 1;
 
-    public static final Map<Integer, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new HashMap<Integer, FieldMetaData>() {{
-      put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, 
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements TFieldIdEnum {
+      TABLE_NAME((short)1, "tableName");
+
+      private static final Map<Integer, _Fields> byId = new HashMap<Integer, _Fields>();
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byId.put((int)field._thriftId, field);
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        return byId.get(fieldId);
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+
+    public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{
+      put(_Fields.TABLE_NAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, 
           new FieldValueMetaData(TType.STRING)));
     }});
 
@@ -2992,7 +3519,11 @@
       }
     }
 
-    @Override
+    public disableTable_args deepCopy() {
+      return new disableTable_args(this);
+    }
+
+    @Deprecated
     public disableTable_args clone() {
       return new disableTable_args(this);
     }
@@ -3001,15 +3532,16 @@
       return this.tableName;
     }
 
-    public void setTableName(byte[] tableName) {
+    public disableTable_args setTableName(byte[] tableName) {
       this.tableName = tableName;
+      return this;
     }
 
     public void unsetTableName() {
       this.tableName = null;
     }
 
-    // Returns true if field tableName is set (has been asigned a value) and false otherwise
+    /** Returns true if field tableName is set (has been asigned a value) and false otherwise */
     public boolean isSetTableName() {
       return this.tableName != null;
     }
@@ -3020,9 +3552,9 @@
       }
     }
 
-    public void setFieldValue(int fieldID, Object value) {
-      switch (fieldID) {
-      case TABLENAME:
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case TABLE_NAME:
         if (value == null) {
           unsetTableName();
         } else {
@@ -3030,29 +3562,37 @@
         }
         break;
 
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
     }
 
-    public Object getFieldValue(int fieldID) {
-      switch (fieldID) {
-      case TABLENAME:
+    public void setFieldValue(int fieldID, Object value) {
+      setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value);
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case TABLE_NAME:
         return getTableName();
 
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
+      throw new IllegalStateException();
     }
 
-    // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise
-    public boolean isSet(int fieldID) {
-      switch (fieldID) {
-      case TABLENAME:
+    public Object getFieldValue(int fieldId) {
+      return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId));
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      switch (field) {
+      case TABLE_NAME:
         return isSetTableName();
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
+      throw new IllegalStateException();
+    }
+
+    public boolean isSet(int fieldID) {
+      return isSet(_Fields.findByThriftIdOrThrow(fieldID));
     }
 
     @Override
@@ -3082,6 +3622,32 @@
 
     @Override
     public int hashCode() {
+      HashCodeBuilder builder = new HashCodeBuilder();
+
+      boolean present_tableName = true && (isSetTableName());
+      builder.append(present_tableName);
+      if (present_tableName)
+        builder.append(tableName);
+
+      return builder.toHashCode();
+    }
+
+    public int compareTo(disableTable_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+      disableTable_args typedOther = (disableTable_args)other;
+
+      lastComparison = Boolean.valueOf(isSetTableName()).compareTo(isSetTableName());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      lastComparison = TBaseHelper.compareTo(tableName, typedOther.tableName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
       return 0;
     }
 
@@ -3094,24 +3660,24 @@
         if (field.type == TType.STOP) { 
           break;
         }
-        switch (field.id)
-        {
-          case TABLENAME:
-            if (field.type == TType.STRING) {
-              this.tableName = iprot.readBinary();
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          default:
-            TProtocolUtil.skip(iprot, field.type);
-            break;
+        _Fields fieldId = _Fields.findByThriftId(field.id);
+        if (fieldId == null) {
+          TProtocolUtil.skip(iprot, field.type);
+        } else {
+          switch (fieldId) {
+            case TABLE_NAME:
+              if (field.type == TType.STRING) {
+                this.tableName = iprot.readBinary();
+              } else { 
+                TProtocolUtil.skip(iprot, field.type);
+              }
+              break;
+          }
+          iprot.readFieldEnd();
         }
-        iprot.readFieldEnd();
       }
       iprot.readStructEnd();
 
-
       // check for required fields of primitive type, which can't be checked in the validate method
       validate();
     }
@@ -3132,34 +3698,91 @@
     @Override
     public String toString() {
       StringBuilder sb = new StringBuilder("disableTable_args(");
+      boolean first = true;
 
       sb.append("tableName:");
       if (this.tableName == null) {
         sb.append("null");
       } else {
-        sb.append(Bytes.toString(this.tableName));
+        sb.append(this.tableName);
       }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
 
     public void validate() throws TException {
       // check for required fields
-      // check that fields of type enum have valid values
     }
 
   }
 
-  public static class disableTable_result implements TBase, java.io.Serializable, Cloneable   {
-    private static final long serialVersionUID = 1L;
+  public static class disableTable_result implements TBase<disableTable_result._Fields>, java.io.Serializable, Cloneable, Comparable<disableTable_result>   {
     private static final TStruct STRUCT_DESC = new TStruct("disableTable_result");
+
     private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1);
 
     public IOError io;
-    public static final int IO = 1;
 
-    public static final Map<Integer, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new HashMap<Integer, FieldMetaData>() {{
-      put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, 
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements TFieldIdEnum {
+      IO((short)1, "io");
+
+      private static final Map<Integer, _Fields> byId = new HashMap<Integer, _Fields>();
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byId.put((int)field._thriftId, field);
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        return byId.get(fieldId);
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+
+    public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{
+      put(_Fields.IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, 
           new FieldValueMetaData(TType.STRUCT)));
     }});
 
@@ -3186,7 +3809,11 @@
       }
     }
 
-    @Override
+    public disableTable_result deepCopy() {
+      return new disableTable_result(this);
+    }
+
+    @Deprecated
     public disableTable_result clone() {
       return new disableTable_result(this);
     }
@@ -3195,15 +3822,16 @@
       return this.io;
     }
 
-    public void setIo(IOError io) {
+    public disableTable_result setIo(IOError io) {
       this.io = io;
+      return this;
     }
 
     public void unsetIo() {
       this.io = null;
     }
 
-    // Returns true if field io is set (has been asigned a value) and false otherwise
+    /** Returns true if field io is set (has been asigned a value) and false otherwise */
     public boolean isSetIo() {
       return this.io != null;
     }
@@ -3214,8 +3842,8 @@
       }
     }
 
-    public void setFieldValue(int fieldID, Object value) {
-      switch (fieldID) {
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
       case IO:
         if (value == null) {
           unsetIo();
@@ -3224,29 +3852,37 @@
         }
         break;
 
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
     }
 
-    public Object getFieldValue(int fieldID) {
-      switch (fieldID) {
+    public void setFieldValue(int fieldID, Object value) {
+      setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value);
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
       case IO:
         return getIo();
 
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
+      throw new IllegalStateException();
     }
 
-    // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise
-    public boolean isSet(int fieldID) {
-      switch (fieldID) {
+    public Object getFieldValue(int fieldId) {
+      return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId));
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      switch (field) {
       case IO:
         return isSetIo();
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
+      throw new IllegalStateException();
+    }
+
+    public boolean isSet(int fieldID) {
+      return isSet(_Fields.findByThriftIdOrThrow(fieldID));
     }
 
     @Override
@@ -3276,6 +3912,32 @@
 
     @Override
     public int hashCode() {
+      HashCodeBuilder builder = new HashCodeBuilder();
+
+      boolean present_io = true && (isSetIo());
+      builder.append(present_io);
+      if (present_io)
+        builder.append(io);
+
+      return builder.toHashCode();
+    }
+
+    public int compareTo(disableTable_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+      disableTable_result typedOther = (disableTable_result)other;
+
+      lastComparison = Boolean.valueOf(isSetIo()).compareTo(isSetIo());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      lastComparison = TBaseHelper.compareTo(io, typedOther.io);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
       return 0;
     }
 
@@ -3288,25 +3950,25 @@
         if (field.type == TType.STOP) { 
           break;
         }
-        switch (field.id)
-        {
-          case IO:
-            if (field.type == TType.STRUCT) {
-              this.io = new IOError();
-              this.io.read(iprot);
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          default:
-            TProtocolUtil.skip(iprot, field.type);
-            break;
+        _Fields fieldId = _Fields.findByThriftId(field.id);
+        if (fieldId == null) {
+          TProtocolUtil.skip(iprot, field.type);
+        } else {
+          switch (fieldId) {
+            case IO:
+              if (field.type == TType.STRUCT) {
+                this.io = new IOError();
+                this.io.read(iprot);
+              } else { 
+                TProtocolUtil.skip(iprot, field.type);
+              }
+              break;
+          }
+          iprot.readFieldEnd();
         }
-        iprot.readFieldEnd();
       }
       iprot.readStructEnd();
 
-
       // check for required fields of primitive type, which can't be checked in the validate method
       validate();
     }
@@ -3326,6 +3988,7 @@
     @Override
     public String toString() {
       StringBuilder sb = new StringBuilder("disableTable_result(");
+      boolean first = true;
 
       sb.append("io:");
       if (this.io == null) {
@@ -3333,27 +3996,83 @@
       } else {
         sb.append(this.io);
       }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
 
     public void validate() throws TException {
       // check for required fields
-      // check that fields of type enum have valid values
     }
 
   }
 
-  public static class isTableEnabled_args implements TBase, java.io.Serializable, Cloneable   {
-    private static final long serialVersionUID = 1L;
+  public static class isTableEnabled_args implements TBase<isTableEnabled_args._Fields>, java.io.Serializable, Cloneable, Comparable<isTableEnabled_args>   {
     private static final TStruct STRUCT_DESC = new TStruct("isTableEnabled_args");
+
     private static final TField TABLE_NAME_FIELD_DESC = new TField("tableName", TType.STRING, (short)1);
 
     public byte[] tableName;
-    public static final int TABLENAME = 1;
 
-    public static final Map<Integer, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new HashMap<Integer, FieldMetaData>() {{
-      put(TABLENAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, 
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements TFieldIdEnum {
+      TABLE_NAME((short)1, "tableName");
+
+      private static final Map<Integer, _Fields> byId = new HashMap<Integer, _Fields>();
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byId.put((int)field._thriftId, field);
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        return byId.get(fieldId);
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+
+    public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{
+      put(_Fields.TABLE_NAME, new FieldMetaData("tableName", TFieldRequirementType.DEFAULT, 
           new FieldValueMetaData(TType.STRING)));
     }});
 
@@ -3380,7 +4099,11 @@
       }
     }
 
-    @Override
+    public isTableEnabled_args deepCopy() {
+      return new isTableEnabled_args(this);
+    }
+
+    @Deprecated
     public isTableEnabled_args clone() {
       return new isTableEnabled_args(this);
     }
@@ -3389,15 +4112,16 @@
       return this.tableName;
     }
 
-    public void setTableName(byte[] tableName) {
+    public isTableEnabled_args setTableName(byte[] tableName) {
       this.tableName = tableName;
+      return this;
     }
 
     public void unsetTableName() {
       this.tableName = null;
     }
 
-    // Returns true if field tableName is set (has been asigned a value) and false otherwise
+    /** Returns true if field tableName is set (has been asigned a value) and false otherwise */
     public boolean isSetTableName() {
       return this.tableName != null;
     }
@@ -3408,9 +4132,9 @@
       }
     }
 
-    public void setFieldValue(int fieldID, Object value) {
-      switch (fieldID) {
-      case TABLENAME:
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case TABLE_NAME:
         if (value == null) {
           unsetTableName();
         } else {
@@ -3418,29 +4142,37 @@
         }
         break;
 
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
     }
 
-    public Object getFieldValue(int fieldID) {
-      switch (fieldID) {
-      case TABLENAME:
+    public void setFieldValue(int fieldID, Object value) {
+      setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value);
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case TABLE_NAME:
         return getTableName();
 
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
+      throw new IllegalStateException();
     }
 
-    // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise
-    public boolean isSet(int fieldID) {
-      switch (fieldID) {
-      case TABLENAME:
+    public Object getFieldValue(int fieldId) {
+      return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId));
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      switch (field) {
+      case TABLE_NAME:
         return isSetTableName();
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
+      throw new IllegalStateException();
+    }
+
+    public boolean isSet(int fieldID) {
+      return isSet(_Fields.findByThriftIdOrThrow(fieldID));
     }
 
     @Override
@@ -3470,6 +4202,32 @@
 
     @Override
     public int hashCode() {
+      HashCodeBuilder builder = new HashCodeBuilder();
+
+      boolean present_tableName = true && (isSetTableName());
+      builder.append(present_tableName);
+      if (present_tableName)
+        builder.append(tableName);
+
+      return builder.toHashCode();
+    }
+
+    public int compareTo(isTableEnabled_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+      isTableEnabled_args typedOther = (isTableEnabled_args)other;
+
+      lastComparison = Boolean.valueOf(isSetTableName()).compareTo(isSetTableName());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      lastComparison = TBaseHelper.compareTo(tableName, typedOther.tableName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
       return 0;
     }
 
@@ -3482,24 +4240,24 @@
         if (field.type == TType.STOP) { 
           break;
         }
-        switch (field.id)
-        {
-          case TABLENAME:
-            if (field.type == TType.STRING) {
-              this.tableName = iprot.readBinary();
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          default:
-            TProtocolUtil.skip(iprot, field.type);
-            break;
+        _Fields fieldId = _Fields.findByThriftId(field.id);
+        if (fieldId == null) {
+          TProtocolUtil.skip(iprot, field.type);
+        } else {
+          switch (fieldId) {
+            case TABLE_NAME:
+              if (field.type == TType.STRING) {
+                this.tableName = iprot.readBinary();
+              } else { 
+                TProtocolUtil.skip(iprot, field.type);
+              }
+              break;
+          }
+          iprot.readFieldEnd();
         }
-        iprot.readFieldEnd();
       }
       iprot.readStructEnd();
 
-
       // check for required fields of primitive type, which can't be checked in the validate method
       validate();
     }
@@ -3520,47 +4278,100 @@
     @Override
     public String toString() {
       StringBuilder sb = new StringBuilder("isTableEnabled_args(");
+      boolean first = true;
 
       sb.append("tableName:");
       if (this.tableName == null) {
         sb.append("null");
       } else {
-        sb.append(Bytes.toString(this.tableName));
+        sb.append(this.tableName);
       }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
 
     public void validate() throws TException {
       // check for required fields
-      // check that fields of type enum have valid values
     }
 
   }
 
-  public static class isTableEnabled_result implements TBase, java.io.Serializable, Cloneable   {
-    private static final long serialVersionUID = 1L;
+  public static class isTableEnabled_result implements TBase<isTableEnabled_result._Fields>, java.io.Serializable, Cloneable, Comparable<isTableEnabled_result>   {
     private static final TStruct STRUCT_DESC = new TStruct("isTableEnabled_result");
+
     private static final TField SUCCESS_FIELD_DESC = new TField("success", TType.BOOL, (short)0);
     private static final TField IO_FIELD_DESC = new TField("io", TType.STRUCT, (short)1);
 
     public boolean success;
-    public static final int SUCCESS = 0;
     public IOError io;
-    public static final int IO = 1;
 
-    private final Isset __isset = new Isset();
-    private static final class Isset implements java.io.Serializable {
-      private static final long serialVersionUID = 1L;
-      public boolean success = false;
-    }
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements TFieldIdEnum {
+      SUCCESS((short)0, "success"),
+      IO((short)1, "io");
 
-    public static final Map<Integer, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new HashMap<Integer, FieldMetaData>() {{
-      put(SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, 
-          new FieldValueMetaData(TType.BOOL)));
-      put(IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, 
-          new FieldValueMetaData(TType.STRUCT)));
-    }});
+      private static final Map<Integer, _Fields> byId = new HashMap<Integer, _Fields>();
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byId.put((int)field._thriftId, field);
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        return byId.get(fieldId);
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private BitSet __isset_bit_vector = new BitSet(1);
+
+    public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{
+      put(_Fields.SUCCESS, new FieldMetaData("success", TFieldRequirementType.DEFAULT, 
+          new FieldValueMetaData(TType.BOOL)));
+      put(_Fields.IO, new FieldMetaData("io", TFieldRequirementType.DEFAULT, 
+          new FieldValueMetaData(TType.STRUCT)));
+    }});
 
     static {
       FieldMetaData.addStructMetaDataMap(isTableEnabled_result.class, metaDataMap);
@@ -3575,7 +4386,7 @@
     {
       this();
       this.success = success;
-      this.__isset.success = true;
+      setSuccessIsSet(true);
       this.io = io;
     }
 
@@ -3583,14 +4394,19 @@
      * Performs a deep copy on <i>other</i>.
      */
     public isTableEnabled_result(isTableEnabled_result other) {
-      __isset.success = other.__isset.success;
+      __isset_bit_vector.clear();
+      __isset_bit_vector.or(other.__isset_bit_vector);
       this.success = other.success;
       if (other.isSetIo()) {
         this.io = new IOError(other.io);
       }
     }
 
-    @Override
+    public isTableEnabled_result deepCopy() {
+      return new isTableEnabled_result(this);
+    }
+
+    @Deprecated
     public isTableEnabled_result clone() {
       return new isTableEnabled_result(this);
     }
@@ -3599,37 +4415,39 @@
       return this.success;
     }
 
-    public void setSuccess(boolean success) {
+    public isTableEnabled_result setSuccess(boolean success) {
       this.success = success;
-      this.__isset.success = true;
+      setSuccessIsSet(true);
+      return this;
     }
 
     public void unsetSuccess() {
-      this.__isset.success = false;
+      __isset_bit_vector.clear(__SUCCESS_ISSET_ID);
     }
 
-    // Returns true if field success is set (has been asigned a value) and false otherwise
+    /** Returns true if field success is set (has been asigned a value) and false otherwise */
     public boolean isSetSuccess() {
-      return this.__isset.success;
+      return __isset_bit_vector.get(__SUCCESS_ISSET_ID);
     }
 
     public void setSuccessIsSet(boolean value) {
-      this.__isset.success = value;
+      __isset_bit_vector.set(__SUCCESS_ISSET_ID, value);
     }
 
     public IOError getIo() {
       return this.io;
     }
 
-    public void setIo(IOError io) {
+    public isTableEnabled_result setIo(IOError io) {
       this.io = io;
+      return this;
     }
 
     public void unsetIo() {
       this.io = null;
     }
 
-    // Returns true if field io is set (has been asigned a value) and false otherwise
+    /** Returns true if field io is set (has been asigned a value) and false otherwise */
     public boolean isSetIo() {
       return this.io != null;
     }
@@ -3640,8 +4458,8 @@
       }
     }
 
-    public void setFieldValue(int fieldID, Object value) {
-      switch (fieldID) {
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
       case SUCCESS:
         if (value == null) {
           unsetSuccess();
@@ -3658,34 +4476,42 @@
         }
         break;
 
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
     }
 
-    public Object getFieldValue(int fieldID) {
-      switch (fieldID) {
+    public void setFieldValue(int fieldID, Object value) {
+      setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value);
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
       case SUCCESS:
-        return Boolean.valueOf(isSuccess());
+        return new Boolean(isSuccess());
 
       case IO:
         return getIo();
 
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
+      throw new IllegalStateException();
     }
 
-    // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise
-    public boolean isSet(int fieldID) {
-      switch (fieldID) {
+    public Object getFieldValue(int fieldId) {
+      return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId));
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      switch (field) {
       case SUCCESS:
         return isSetSuccess();
       case IO:
         return isSetIo();
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
+      throw new IllegalStateException();
+    }
+
+    public boolean isSet(int fieldID) {
+      return isSet(_Fields.findByThriftIdOrThrow(fieldID));
     }
 
     @Override
@@ -3724,6 +4550,45 @@
 
     @Override
     public int hashCode() {
+      HashCodeBuilder builder = new HashCodeBuilder();
+
+      boolean present_success = true;
+      builder.append(present_success);
+      if (present_success)
+        builder.append(success);
+
+      boolean present_io = true && (isSetIo());
+      builder.append(present_io);
+      if (present_io)
+        builder.append(io);
+
+      return builder.toHashCode();
+    }
+
+    public int compareTo(isTableEnabled_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+      isTableEnabled_result typedOther = (isTableEnabled_result)other;
+
+      lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(isSetSuccess());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      lastComparison = TBaseHelper.compareTo(success, typedOther.success);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      lastComparison = Boolean.valueOf(isSetIo()).compareTo(isSetIo());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      lastComparison = TBaseHelper.compareTo(io, typedOther.io);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
       return 0;
     }
 
@@ -3736,33 +4601,33 @@
         if (field.type == TType.STOP) { 
           break;
         }
-        switch (field.id)
-        {
-          case SUCCESS:
-            if (field.type == TType.BOOL) {
-              this.success = iprot.readBool();
-              this.__isset.success = true;
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          case IO:
-            if (field.type == TType.STRUCT) {
-              this.io = new IOError();
-              this.io.read(iprot);
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          default:
-            TProtocolUtil.skip(iprot, field.type);
-            break;
+        _Fields fieldId = _Fields.findByThriftId(field.id);
+        if (fieldId == null) {
+          TProtocolUtil.skip(iprot, field.type);
+        } else {
+          switch (fieldId) {
+            case SUCCESS:
+              if (field.type == TType.BOOL) {
+                this.success = iprot.readBool();
+                setSuccessIsSet(true);
+              } else { 
+                TProtocolUtil.skip(iprot, field.type);
+              }
+              break;
+            case IO:
+              if (field.type == TType.STRUCT) {
+                this.io = new IOError();
+                this.io.read(iprot);
+              } else { 
+                TProtocolUtil.skip(iprot, field.type);
+              }
+              break;
+          }
+          iprot.readFieldEnd();
         }
-        iprot.readFieldEnd();
       }
       iprot.readStructEnd();
 
-
       // check for required fields of primitive type, which can't be checked in the validate method
       validate();
     }
@@ -3805,21 +4670,76 @@
 
     public void validate() throws TException {
       // check for required fields
-      // check that fields of type enum have valid values
     }
 
   }
 
-  public static class compact_args implements TBase, java.io.Serializable, Cloneable   {
-    private static final long serialVersionUID = 1L;
+  public static class compact_args implements TBase<compact_args._Fields>, java.io.Serializable, Cloneable, Comparable<compact_args>   {
     private static final TStruct STRUCT_DESC = new TStruct("compact_args");
+
     private static final TField TABLE_NAME_OR_REGION_NAME_FIELD_DESC = new TField("tableNameOrRegionName", TType.STRING, (short)1);
 
     public byte[] tableNameOrRegionName;
-    public static final int TABLENAMEORREGIONNAME = 1;
 
-    public static final Map<Integer, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new HashMap<Integer, FieldMetaData>() {{
-      put(TABLENAMEORREGIONNAME, new FieldMetaData("tableNameOrRegionName", TFieldRequirementType.DEFAULT, 
+    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
+    public enum _Fields implements TFieldIdEnum {
+      TABLE_NAME_OR_REGION_NAME((short)1, "tableNameOrRegionName");
+
+      private static final Map<Integer, _Fields> byId = new HashMap<Integer, _Fields>();
+      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
+
+      static {
+        for (_Fields field : EnumSet.allOf(_Fields.class)) {
+          byId.put((int)field._thriftId, field);
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      public static _Fields findByThriftId(int fieldId) {
+        return byId.get(fieldId);
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, throwing an exception
+       * if it is not found.
+       */
+      public static _Fields findByThriftIdOrThrow(int fieldId) {
+        _Fields fields = findByThriftId(fieldId);
+        if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      public static _Fields findByName(String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final String _fieldName;
+
+      _Fields(short thriftId, String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      public String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+
+    public static final Map<_Fields, FieldMetaData> metaDataMap = Collections.unmodifiableMap(new EnumMap<_Fields, FieldMetaData>(_Fields.class) {{
+      put(_Fields.TABLE_NAME_OR_REGION_NAME, new FieldMetaData("tableNameOrRegionName", TFieldRequirementType.DEFAULT, 
           new FieldValueMetaData(TType.STRING)));
     }});
 
@@ -3846,7 +4766,11 @@
       }
     }
 
-    @Override
+    public compact_args deepCopy() {
+      return new compact_args(this);
+    }
+
+    @Deprecated
     public compact_args clone() {
       return new compact_args(this);
     }
@@ -3855,15 +4779,16 @@
       return this.tableNameOrRegionName;
     }
 
-    public void setTableNameOrRegionName(byte[] tableNameOrRegionName) {
+    public compact_args setTableNameOrRegionName(byte[] tableNameOrRegionName) {
       this.tableNameOrRegionName = tableNameOrRegionName;
+      return this;
     }
 
     public void unsetTableNameOrRegionName() {
       this.tableNameOrRegionName = null;
     }
 
-    // Returns true if field tableNameOrRegionName is set (has been asigned a value) and false otherwise
+    /** Returns true if field tableNameOrRegionName is set (has been asigned a value) and false otherwise */
     public boolean isSetTableNameOrRegionName() {
       return this.tableNameOrRegionName != null;
     }
@@ -3874,9 +4799,9 @@
       }
     }
 
-    public void setFieldValue(int fieldID, Object value) {
-      switch (fieldID) {
-      case TABLENAMEORREGIONNAME:
+    public void setFieldValue(_Fields field, Object value) {
+      switch (field) {
+      case TABLE_NAME_OR_REGION_NAME:
         if (value == null) {
           unsetTableNameOrRegionName();
         } else {
@@ -3884,29 +4809,37 @@
         }
         break;
 
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
     }
 
-    public Object getFieldValue(int fieldID) {
-      switch (fieldID) {
-      case TABLENAMEORREGIONNAME:
+    public void setFieldValue(int fieldID, Object value) {
+      setFieldValue(_Fields.findByThriftIdOrThrow(fieldID), value);
+    }
+
+    public Object getFieldValue(_Fields field) {
+      switch (field) {
+      case TABLE_NAME_OR_REGION_NAME:
         return getTableNameOrRegionName();
 
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
+      throw new IllegalStateException();
     }
 
-    // Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise
-    public boolean isSet(int fieldID) {
-      switch (fieldID) {
-      case TABLENAMEORREGIONNAME:
+    public Object getFieldValue(int fieldId) {
+      return getFieldValue(_Fields.findByThriftIdOrThrow(fieldId));
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been asigned a value) and false otherwise */
+    public boolean isSet(_Fields field) {
+      switch (field) {
+      case TABLE_NAME_OR_REGION_NAME:
         return isSetTableNameOrRegionName();
-      default:
-        throw new IllegalArgumentException("Field " + fieldID + " doesn't exist!");
       }
+      throw new IllegalStateException();
+    }
+
+    public boolean isSet(int fieldID) {
+      return isSet(_Fields.findByThriftIdOrThrow(fieldID));
     }
 
     @Override
@@ -3936,6 +4869,32 @@
 
     @Override
     public int hashCode() {
+      HashCodeBuilder builder = new HashCodeBuilder();
+
+      boolean present_tableNameOrRegionName = true && (isSetTableNameOrRegionName());
+      builder.append(present_tableNameOrRegionName);
+      if (present_tableNameOrRegionName)
+        builder.append(tableNameOrRegionName);
+
+      return builder.toHashCode();
+    }
+
+    public int compareTo(compact_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+      compact_args typedOther = (compact_args)other;
+
+      lastComparison = Boolean.valueOf(isSetTableNameOrRegionName()).compareTo(isSetTableNameOrRegionName());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      lastComparison = TBaseHelper.compareTo(tableNameOrRegionName, typedOther.tableNameOrRegionName);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
       return 0;
     }
 
@@ -3948,24 +4907,24 @@
         if (field.type == TType.STOP) { 
           break;
         }
-        switch (field.id)
-        {
-          case TABLENAMEORREGIONNAME:
-            if (field.type == TType.STRING) {
-              this.tableNameOrRegionName = iprot.readBinary();
-            } else { 
-              TProtocolUtil.skip(iprot, field.type);
-            }
-            break;
-          default:
-            TProtocolUtil.skip(iprot, field.type);
-            break;
+        _Fields fieldId = _Fields.findByThriftId(field.id);
+        if (fieldId == null) {
+          TProtocolUtil.skip(iprot, field.type);
+        } else {
+          switch (fieldId) {
+            case TABLE_NAME_OR_REGION_NAME:
+              if (field.type == TType.STRING) {
+                this.tableNameOrRegionName = iprot.readBinary();
+              } else { 
+                TProtocolUtil.skip(iprot, field.type);
+              }
+              break;
+          }
+          iprot.readFieldEnd();
         }
-        iprot.readFieldEnd();
       }
       iprot.readStructEnd();
 
-
       // check for required fields of primitive type, which can't be checked in the validate method
       validate();
     }
@@ -3986,34 +4945,91 @@
     @Override
     public String toString() {
       StringBuilder sb = new StringBuilder("compact_args(");
+      boolean first = true;
 
       sb.append("tableNameOrRegionName:");
       if (this.tableNameOrRegionName == null) {
         sb.append("null");
       } else {
-        sb.append(Bytes.toStringBinary(this.tableNameOrRegionName));
+        sb.append(this.tableNameOrRegionName);
       }
+      first = false;
       sb.append(")");
       return sb.toString();
     }
 

[... 21886 lines stripped ...]