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

svn commit: r1546436 [1/3] - in /hbase/branches/0.89-fb: ./ src/main/java/org/apache/hadoop/hbase/ src/main/java/org/apache/hadoop/hbase/thrift/generated/

Author: liyin
Date: Thu Nov 28 18:13:41 2013
New Revision: 1546436

URL: http://svn.apache.org/r1546436
Log:
[HBASE-10042] Updating the libthrift, zookeeper and other jars, and adding a maven rule for transitive dependencies.

Author: gauravm

Summary:
Updating the libthrift, zookeeper, mockito, log4j and slf4j jars, since one of the AppServer team is running into problems with the old jars that HBase pulls in.

Also added the requireUpperBoundDeps as a rule during the building process. This will force us to specify the correct version of a dependency, if it is required transitively by multiple dependencies.

Test Plan: Ran the MR Unit tests, and there are no more failures than trunk.

Reviewers: aaiyer, liyintang, adela, rshroff, manukranthk, fan

Reviewed By: fan

CC: hbase-eng@, ryandm

Differential Revision: https://phabricator.fb.com/D1075110

Task ID: 3165197

Modified:
    hbase/branches/0.89-fb/pom.xml
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/MiniZooKeeperCluster.java
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/IOError.java
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/IllegalArgument.java
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/Mutation.java
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/TCell.java
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRegionInfo.java
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java

Modified: hbase/branches/0.89-fb/pom.xml
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/pom.xml?rev=1546436&r1=1546435&r2=1546436&view=diff
==============================================================================
--- hbase/branches/0.89-fb/pom.xml (original)
+++ hbase/branches/0.89-fb/pom.xml Thu Nov 28 18:13:41 2013
@@ -543,6 +543,25 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-enforcer-plugin</artifactId>
+            <version>1.3.1</version>
+            <executions>
+                <execution>
+                    <goals>
+                        <goal>enforce</goal>
+                    </goals>
+                    <configuration>
+                        <rules>
+                            <requireUpperBoundDeps>
+                                <uniqueVersions>true</uniqueVersions>
+                            </requireUpperBoundDeps>
+                        </rules>
+                    </configuration>
+                </execution>
+            </executions>
+        </plugin>
     </plugins>
   </build>
 
@@ -560,22 +579,22 @@
     <jetty.jspapi.version>6.1.14</jetty.jspapi.version>
     <netty.version>3.2.2.Final</netty.version>
     <junit.version>4.8.1</junit.version>
-    <mockito-all.version>1.8.4</mockito-all.version>
-    <log4j.version>1.2.15</log4j.version>
-    <zookeeper.version>3.3.3</zookeeper.version>
+    <mockito-all.version>1.9.5</mockito-all.version>
+    <log4j.version>1.2.16</log4j.version>
+    <zookeeper.version>3.4.3</zookeeper.version>
 
     <commons-httpclient.version>3.1</commons-httpclient.version>
     <commons-lang.version>2.5</commons-lang.version>
     <commons-math.version>2.1</commons-math.version>
     <jasper.version>5.5.23</jasper.version>
-    <jaxb-api.version>2.1</jaxb-api.version>
-    <jersey.version>1.1.5.1</jersey.version>
+    <jaxb-api.version>2.2.2 </jaxb-api.version>
+    <jersey.version>1.9.1</jersey.version>
     <jruby.version>1.4.0</jruby.version>
     <jsr311.version>1.1.1</jsr311.version>
     <protobuf.version>2.3.0</protobuf.version>
-    <slf4j.version>1.5.8</slf4j.version>
+    <slf4j.version>1.5.11</slf4j.version>
     <stax-api>1.0.1</stax-api>
-    <thrift.version>0.8.0</thrift.version>
+    <thrift.version>0.9.1</thrift.version>
     <guava.version>r09</guava.version>
   </properties>
 
@@ -664,6 +683,16 @@
         <version>${mockito-all.version}</version>
         <scope>test</scope>
       </dependency>
+      <dependency>
+        <groupId>commons-codec</groupId>
+        <artifactId>commons-codec</artifactId>
+        <version>1.6</version>
+      </dependency>
+      <dependency>
+        <groupId>asm</groupId>
+        <artifactId>asm</artifactId>
+        <version>3.2</version>
+      </dependency>
     </dependencies>
   </dependencyManagement>
   <dependencies>
@@ -847,7 +876,7 @@
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-log4j12</artifactId>
-      <version>1.4.3</version>
+      <version>1.6.1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.hadoop</groupId>
@@ -857,17 +886,17 @@
     <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
-      <version>1.4.3</version>
+      <version>1.6.1</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.jackson</groupId>
       <artifactId>jackson-core-asl</artifactId>
-      <version>1.5.2</version>
+      <version>1.8.3</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.jackson</groupId>
       <artifactId>jackson-mapper-asl</artifactId>
-      <version>1.5.2</version>
+      <version>1.8.3</version>
     </dependency>
 
     <!-- Test dependencies -->

Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/MiniZooKeeperCluster.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/MiniZooKeeperCluster.java?rev=1546436&r1=1546435&r2=1546436&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/MiniZooKeeperCluster.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/MiniZooKeeperCluster.java Thu Nov 28 18:13:41 2013
@@ -19,6 +19,13 @@
  */
 package org.apache.hadoop.hbase;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.fs.FileUtil;
+import org.apache.zookeeper.server.NIOServerCnxnFactory;
+import org.apache.zookeeper.server.ZooKeeperServer;
+import org.apache.zookeeper.server.persistence.FileTxnLog;
+
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.IOException;
@@ -30,13 +37,6 @@ import java.net.InetSocketAddress;
 import java.net.Socket;
 import java.util.Random;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.hadoop.fs.FileUtil;
-import org.apache.zookeeper.server.NIOServerCnxn;
-import org.apache.zookeeper.server.ZooKeeperServer;
-import org.apache.zookeeper.server.persistence.FileTxnLog;
-
 /**
  * TODO: Most of the code in this class is ripped from ZooKeeper tests. Instead
  * of redoing it, we should contribute updates to their code which let us more
@@ -51,7 +51,7 @@ public class MiniZooKeeperCluster {
   private boolean started;
   private int clientPort = 21810; // use non-standard port
 
-  private NIOServerCnxn.Factory standaloneServerFactory;
+  private NIOServerCnxnFactory standaloneServerFactory;
   private int tickTime = 0;
 
   /** Create mini ZooKeeper cluster. */
@@ -112,7 +112,8 @@ public class MiniZooKeeperCluster {
     while (true) {
       try {
         standaloneServerFactory =
-          new NIOServerCnxn.Factory(new InetSocketAddress(clientPort));
+          new NIOServerCnxnFactory();
+        standaloneServerFactory.configure(new InetSocketAddress(clientPort), 100);
       } catch (BindException e) {
         LOG.info("Failed binding ZK Server to client port: " + clientPort);
         clientPort++;

Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java?rev=1546436&r1=1546435&r2=1546436&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/AlreadyExists.java Thu Nov 28 18:13:41 2013
@@ -1,17 +1,23 @@
 /**
- * Autogenerated by Thrift Compiler (0.8.0)
+ * Autogenerated by Thrift Compiler (0.9.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.hadoop.hbase.thrift.generated;
 
+import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.thrift.scheme.IScheme;
 import org.apache.thrift.scheme.SchemeFactory;
 import org.apache.thrift.scheme.StandardScheme;
 
 import org.apache.thrift.scheme.TupleScheme;
 import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
 import java.util.List;
 import java.util.ArrayList;
 import java.util.Map;
@@ -31,7 +37,7 @@ import org.slf4j.LoggerFactory;
  * An AlreadyExists exceptions signals that a table with the specified
  * name already exists
  */
-public class AlreadyExists extends Exception implements org.apache.thrift.TBase<AlreadyExists, AlreadyExists._Fields>, java.io.Serializable, Cloneable {
+public class AlreadyExists extends TException implements org.apache.thrift.TBase<AlreadyExists, AlreadyExists._Fields>, java.io.Serializable, Cloneable, Comparable<AlreadyExists> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AlreadyExists");
 
   private static final org.apache.thrift.protocol.TField MESSAGE_FIELD_DESC = new org.apache.thrift.protocol.TField("message", org.apache.thrift.protocol.TType.STRING, (short)1);
@@ -226,23 +232,30 @@ public class AlreadyExists extends Excep
 
   @Override
   public int hashCode() {
-    return 0;
+    HashCodeBuilder builder = new HashCodeBuilder();
+
+    boolean present_message = true && (isSetMessage());
+    builder.append(present_message);
+    if (present_message)
+      builder.append(message);
+
+    return builder.toHashCode();
   }
 
+  @Override
   public int compareTo(AlreadyExists other) {
     if (!getClass().equals(other.getClass())) {
       return getClass().getName().compareTo(other.getClass().getName());
     }
 
     int lastComparison = 0;
-    AlreadyExists typedOther = (AlreadyExists)other;
 
-    lastComparison = Boolean.valueOf(isSetMessage()).compareTo(typedOther.isSetMessage());
+    lastComparison = Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetMessage()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.message, typedOther.message);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.message, other.message);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -280,6 +293,7 @@ public class AlreadyExists extends Excep
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
+    // check for sub-struct validity
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {

Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java?rev=1546436&r1=1546435&r2=1546436&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/BatchMutation.java Thu Nov 28 18:13:41 2013
@@ -1,17 +1,23 @@
 /**
- * Autogenerated by Thrift Compiler (0.8.0)
+ * Autogenerated by Thrift Compiler (0.9.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.hadoop.hbase.thrift.generated;
 
+import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.thrift.scheme.IScheme;
 import org.apache.thrift.scheme.SchemeFactory;
 import org.apache.thrift.scheme.StandardScheme;
 
 import org.apache.thrift.scheme.TupleScheme;
 import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
 import java.util.List;
 import java.util.ArrayList;
 import java.util.Map;
@@ -30,7 +36,7 @@ import org.slf4j.LoggerFactory;
 /**
  * A BatchMutation object is used to apply a number of Mutations to a single row.
  */
-public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, BatchMutation._Fields>, java.io.Serializable, Cloneable {
+public class BatchMutation implements org.apache.thrift.TBase<BatchMutation, BatchMutation._Fields>, java.io.Serializable, Cloneable, Comparable<BatchMutation> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BatchMutation");
 
   private static final org.apache.thrift.protocol.TField ROW_FIELD_DESC = new org.apache.thrift.protocol.TField("row", org.apache.thrift.protocol.TType.STRING, (short)1);
@@ -139,7 +145,7 @@ public class BatchMutation implements or
       this.row = other.row;
     }
     if (other.isSetMutations()) {
-      List<Mutation> __this__mutations = new ArrayList<Mutation>();
+      List<Mutation> __this__mutations = new ArrayList<Mutation>(other.mutations.size());
       for (Mutation other_element : other.mutations) {
         __this__mutations.add(new Mutation(other_element));
       }
@@ -314,33 +320,45 @@ public class BatchMutation implements or
 
   @Override
   public int hashCode() {
-    return 0;
+    HashCodeBuilder builder = new HashCodeBuilder();
+
+    boolean present_row = true && (isSetRow());
+    builder.append(present_row);
+    if (present_row)
+      builder.append(row);
+
+    boolean present_mutations = true && (isSetMutations());
+    builder.append(present_mutations);
+    if (present_mutations)
+      builder.append(mutations);
+
+    return builder.toHashCode();
   }
 
+  @Override
   public int compareTo(BatchMutation other) {
     if (!getClass().equals(other.getClass())) {
       return getClass().getName().compareTo(other.getClass().getName());
     }
 
     int lastComparison = 0;
-    BatchMutation typedOther = (BatchMutation)other;
 
-    lastComparison = Boolean.valueOf(isSetRow()).compareTo(typedOther.isSetRow());
+    lastComparison = Boolean.valueOf(isSetRow()).compareTo(other.isSetRow());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetRow()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.row, typedOther.row);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.row, other.row);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetMutations()).compareTo(typedOther.isSetMutations());
+    lastComparison = Boolean.valueOf(isSetMutations()).compareTo(other.isSetMutations());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetMutations()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.mutations, typedOther.mutations);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.mutations, other.mutations);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -386,6 +404,7 @@ public class BatchMutation implements or
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
+    // check for sub-struct validity
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -437,7 +456,7 @@ public class BatchMutation implements or
                 struct.mutations = new ArrayList<Mutation>(_list0.size);
                 for (int _i1 = 0; _i1 < _list0.size; ++_i1)
                 {
-                  Mutation _elem2; // required
+                  Mutation _elem2;
                   _elem2 = new Mutation();
                   _elem2.read(iprot);
                   struct.mutations.add(_elem2);
@@ -534,7 +553,7 @@ public class BatchMutation implements or
           struct.mutations = new ArrayList<Mutation>(_list5.size);
           for (int _i6 = 0; _i6 < _list5.size; ++_i6)
           {
-            Mutation _elem7; // required
+            Mutation _elem7;
             _elem7 = new Mutation();
             _elem7.read(iprot);
             struct.mutations.add(_elem7);

Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java?rev=1546436&r1=1546435&r2=1546436&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/thrift/generated/ColumnDescriptor.java Thu Nov 28 18:13:41 2013
@@ -1,17 +1,23 @@
 /**
- * Autogenerated by Thrift Compiler (0.8.0)
+ * Autogenerated by Thrift Compiler (0.9.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.hadoop.hbase.thrift.generated;
 
+import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.thrift.scheme.IScheme;
 import org.apache.thrift.scheme.SchemeFactory;
 import org.apache.thrift.scheme.StandardScheme;
 
 import org.apache.thrift.scheme.TupleScheme;
 import org.apache.thrift.protocol.TTupleProtocol;
+import org.apache.thrift.protocol.TProtocolException;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.TException;
+import org.apache.thrift.async.AsyncMethodCallback;
+import org.apache.thrift.server.AbstractNonblockingServer.*;
 import java.util.List;
 import java.util.ArrayList;
 import java.util.Map;
@@ -32,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * such as the number of versions, compression settings, etc. It is
  * used as input when creating a table or adding a column.
  */
-public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescriptor, ColumnDescriptor._Fields>, java.io.Serializable, Cloneable {
+public class ColumnDescriptor implements org.apache.thrift.TBase<ColumnDescriptor, ColumnDescriptor._Fields>, java.io.Serializable, Cloneable, Comparable<ColumnDescriptor> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ColumnDescriptor");
 
   private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)1);
@@ -150,7 +156,7 @@ public class ColumnDescriptor implements
   private static final int __BLOOMFILTERNBHASHES_ISSET_ID = 3;
   private static final int __BLOCKCACHEENABLED_ISSET_ID = 4;
   private static final int __TIMETOLIVE_ISSET_ID = 5;
-  private BitSet __isset_bit_vector = new BitSet(6);
+  private byte __isset_bitfield = 0;
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -228,8 +234,7 @@ public class ColumnDescriptor implements
    * Performs a deep copy on <i>other</i>.
    */
   public ColumnDescriptor(ColumnDescriptor other) {
-    __isset_bit_vector.clear();
-    __isset_bit_vector.or(other.__isset_bit_vector);
+    __isset_bitfield = other.__isset_bitfield;
     if (other.isSetName()) {
       this.name = other.name;
     }
@@ -317,16 +322,16 @@ public class ColumnDescriptor implements
   }
 
   public void unsetMaxVersions() {
-    __isset_bit_vector.clear(__MAXVERSIONS_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __MAXVERSIONS_ISSET_ID);
   }
 
   /** Returns true if field maxVersions is set (has been assigned a value) and false otherwise */
   public boolean isSetMaxVersions() {
-    return __isset_bit_vector.get(__MAXVERSIONS_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __MAXVERSIONS_ISSET_ID);
   }
 
   public void setMaxVersionsIsSet(boolean value) {
-    __isset_bit_vector.set(__MAXVERSIONS_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __MAXVERSIONS_ISSET_ID, value);
   }
 
   public String getCompression() {
@@ -364,16 +369,16 @@ public class ColumnDescriptor implements
   }
 
   public void unsetInMemory() {
-    __isset_bit_vector.clear(__INMEMORY_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __INMEMORY_ISSET_ID);
   }
 
   /** Returns true if field inMemory is set (has been assigned a value) and false otherwise */
   public boolean isSetInMemory() {
-    return __isset_bit_vector.get(__INMEMORY_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __INMEMORY_ISSET_ID);
   }
 
   public void setInMemoryIsSet(boolean value) {
-    __isset_bit_vector.set(__INMEMORY_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __INMEMORY_ISSET_ID, value);
   }
 
   public String getBloomFilterType() {
@@ -411,16 +416,16 @@ public class ColumnDescriptor implements
   }
 
   public void unsetBloomFilterVectorSize() {
-    __isset_bit_vector.clear(__BLOOMFILTERVECTORSIZE_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __BLOOMFILTERVECTORSIZE_ISSET_ID);
   }
 
   /** Returns true if field bloomFilterVectorSize is set (has been assigned a value) and false otherwise */
   public boolean isSetBloomFilterVectorSize() {
-    return __isset_bit_vector.get(__BLOOMFILTERVECTORSIZE_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __BLOOMFILTERVECTORSIZE_ISSET_ID);
   }
 
   public void setBloomFilterVectorSizeIsSet(boolean value) {
-    __isset_bit_vector.set(__BLOOMFILTERVECTORSIZE_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __BLOOMFILTERVECTORSIZE_ISSET_ID, value);
   }
 
   public int getBloomFilterNbHashes() {
@@ -434,16 +439,16 @@ public class ColumnDescriptor implements
   }
 
   public void unsetBloomFilterNbHashes() {
-    __isset_bit_vector.clear(__BLOOMFILTERNBHASHES_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __BLOOMFILTERNBHASHES_ISSET_ID);
   }
 
   /** Returns true if field bloomFilterNbHashes is set (has been assigned a value) and false otherwise */
   public boolean isSetBloomFilterNbHashes() {
-    return __isset_bit_vector.get(__BLOOMFILTERNBHASHES_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __BLOOMFILTERNBHASHES_ISSET_ID);
   }
 
   public void setBloomFilterNbHashesIsSet(boolean value) {
-    __isset_bit_vector.set(__BLOOMFILTERNBHASHES_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __BLOOMFILTERNBHASHES_ISSET_ID, value);
   }
 
   public boolean isBlockCacheEnabled() {
@@ -457,16 +462,16 @@ public class ColumnDescriptor implements
   }
 
   public void unsetBlockCacheEnabled() {
-    __isset_bit_vector.clear(__BLOCKCACHEENABLED_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __BLOCKCACHEENABLED_ISSET_ID);
   }
 
   /** Returns true if field blockCacheEnabled is set (has been assigned a value) and false otherwise */
   public boolean isSetBlockCacheEnabled() {
-    return __isset_bit_vector.get(__BLOCKCACHEENABLED_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __BLOCKCACHEENABLED_ISSET_ID);
   }
 
   public void setBlockCacheEnabledIsSet(boolean value) {
-    __isset_bit_vector.set(__BLOCKCACHEENABLED_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __BLOCKCACHEENABLED_ISSET_ID, value);
   }
 
   public int getTimeToLive() {
@@ -480,16 +485,16 @@ public class ColumnDescriptor implements
   }
 
   public void unsetTimeToLive() {
-    __isset_bit_vector.clear(__TIMETOLIVE_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIMETOLIVE_ISSET_ID);
   }
 
   /** Returns true if field timeToLive is set (has been assigned a value) and false otherwise */
   public boolean isSetTimeToLive() {
-    return __isset_bit_vector.get(__TIMETOLIVE_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __TIMETOLIVE_ISSET_ID);
   }
 
   public void setTimeToLiveIsSet(boolean value) {
-    __isset_bit_vector.set(__TIMETOLIVE_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIMETOLIVE_ISSET_ID, value);
   }
 
   public void setFieldValue(_Fields field, Object value) {
@@ -730,103 +735,150 @@ public class ColumnDescriptor implements
 
   @Override
   public int hashCode() {
-    return 0;
+    HashCodeBuilder builder = new HashCodeBuilder();
+
+    boolean present_name = true && (isSetName());
+    builder.append(present_name);
+    if (present_name)
+      builder.append(name);
+
+    boolean present_maxVersions = true;
+    builder.append(present_maxVersions);
+    if (present_maxVersions)
+      builder.append(maxVersions);
+
+    boolean present_compression = true && (isSetCompression());
+    builder.append(present_compression);
+    if (present_compression)
+      builder.append(compression);
+
+    boolean present_inMemory = true;
+    builder.append(present_inMemory);
+    if (present_inMemory)
+      builder.append(inMemory);
+
+    boolean present_bloomFilterType = true && (isSetBloomFilterType());
+    builder.append(present_bloomFilterType);
+    if (present_bloomFilterType)
+      builder.append(bloomFilterType);
+
+    boolean present_bloomFilterVectorSize = true;
+    builder.append(present_bloomFilterVectorSize);
+    if (present_bloomFilterVectorSize)
+      builder.append(bloomFilterVectorSize);
+
+    boolean present_bloomFilterNbHashes = true;
+    builder.append(present_bloomFilterNbHashes);
+    if (present_bloomFilterNbHashes)
+      builder.append(bloomFilterNbHashes);
+
+    boolean present_blockCacheEnabled = true;
+    builder.append(present_blockCacheEnabled);
+    if (present_blockCacheEnabled)
+      builder.append(blockCacheEnabled);
+
+    boolean present_timeToLive = true;
+    builder.append(present_timeToLive);
+    if (present_timeToLive)
+      builder.append(timeToLive);
+
+    return builder.toHashCode();
   }
 
+  @Override
   public int compareTo(ColumnDescriptor other) {
     if (!getClass().equals(other.getClass())) {
       return getClass().getName().compareTo(other.getClass().getName());
     }
 
     int lastComparison = 0;
-    ColumnDescriptor typedOther = (ColumnDescriptor)other;
 
-    lastComparison = Boolean.valueOf(isSetName()).compareTo(typedOther.isSetName());
+    lastComparison = Boolean.valueOf(isSetName()).compareTo(other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, typedOther.name);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.name, other.name);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetMaxVersions()).compareTo(typedOther.isSetMaxVersions());
+    lastComparison = Boolean.valueOf(isSetMaxVersions()).compareTo(other.isSetMaxVersions());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetMaxVersions()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxVersions, typedOther.maxVersions);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.maxVersions, other.maxVersions);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetCompression()).compareTo(typedOther.isSetCompression());
+    lastComparison = Boolean.valueOf(isSetCompression()).compareTo(other.isSetCompression());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetCompression()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.compression, typedOther.compression);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.compression, other.compression);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetInMemory()).compareTo(typedOther.isSetInMemory());
+    lastComparison = Boolean.valueOf(isSetInMemory()).compareTo(other.isSetInMemory());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetInMemory()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.inMemory, typedOther.inMemory);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.inMemory, other.inMemory);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetBloomFilterType()).compareTo(typedOther.isSetBloomFilterType());
+    lastComparison = Boolean.valueOf(isSetBloomFilterType()).compareTo(other.isSetBloomFilterType());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetBloomFilterType()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.bloomFilterType, typedOther.bloomFilterType);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.bloomFilterType, other.bloomFilterType);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetBloomFilterVectorSize()).compareTo(typedOther.isSetBloomFilterVectorSize());
+    lastComparison = Boolean.valueOf(isSetBloomFilterVectorSize()).compareTo(other.isSetBloomFilterVectorSize());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetBloomFilterVectorSize()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.bloomFilterVectorSize, typedOther.bloomFilterVectorSize);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.bloomFilterVectorSize, other.bloomFilterVectorSize);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetBloomFilterNbHashes()).compareTo(typedOther.isSetBloomFilterNbHashes());
+    lastComparison = Boolean.valueOf(isSetBloomFilterNbHashes()).compareTo(other.isSetBloomFilterNbHashes());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetBloomFilterNbHashes()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.bloomFilterNbHashes, typedOther.bloomFilterNbHashes);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.bloomFilterNbHashes, other.bloomFilterNbHashes);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetBlockCacheEnabled()).compareTo(typedOther.isSetBlockCacheEnabled());
+    lastComparison = Boolean.valueOf(isSetBlockCacheEnabled()).compareTo(other.isSetBlockCacheEnabled());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetBlockCacheEnabled()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.blockCacheEnabled, typedOther.blockCacheEnabled);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.blockCacheEnabled, other.blockCacheEnabled);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetTimeToLive()).compareTo(typedOther.isSetTimeToLive());
+    lastComparison = Boolean.valueOf(isSetTimeToLive()).compareTo(other.isSetTimeToLive());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (isSetTimeToLive()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeToLive, typedOther.timeToLive);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.timeToLive, other.timeToLive);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -904,6 +956,7 @@ public class ColumnDescriptor implements
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
+    // check for sub-struct validity
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -917,7 +970,7 @@ public class ColumnDescriptor implements
   private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
     try {
       // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
-      __isset_bit_vector = new BitSet(1);
+      __isset_bitfield = 0;
       read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
     } catch (org.apache.thrift.TException te) {
       throw new java.io.IOException(te);