You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by bo...@apache.org on 2015/03/18 20:39:17 UTC

[10/16] storm git commit: Regenrated the files using thrift-0.9.2 and fixed some bugs introduced by upmerging.

http://git-wip-us.apache.org/repos/asf/storm/blob/539a6a21/storm-core/src/jvm/backtype/storm/generated/StormBase.java
----------------------------------------------------------------------
diff --git a/storm-core/src/jvm/backtype/storm/generated/StormBase.java b/storm-core/src/jvm/backtype/storm/generated/StormBase.java
index e27d635..b00f072 100644
--- a/storm-core/src/jvm/backtype/storm/generated/StormBase.java
+++ b/storm-core/src/jvm/backtype/storm/generated/StormBase.java
@@ -16,13 +16,24 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.7.0)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
  */
 package backtype.storm.generated;
 
-import org.apache.commons.lang.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;
@@ -35,10 +46,13 @@ import java.util.Collections;
 import java.util.BitSet;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
+import javax.annotation.Generated;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class StormBase implements org.apache.thrift.TBase<StormBase, StormBase._Fields>, java.io.Serializable, Cloneable {
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-3-5")
+public class StormBase implements org.apache.thrift.TBase<StormBase, StormBase._Fields>, java.io.Serializable, Cloneable, Comparable<StormBase> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StormBase");
 
   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);
@@ -50,14 +64,20 @@ public class StormBase implements org.apache.thrift.TBase<StormBase, StormBase._
   private static final org.apache.thrift.protocol.TField TOPOLOGY_ACTION_OPTIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("topology_action_options", org.apache.thrift.protocol.TType.STRUCT, (short)7);
   private static final org.apache.thrift.protocol.TField PREV_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("prev_status", org.apache.thrift.protocol.TType.I32, (short)8);
 
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new StormBaseStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new StormBaseTupleSchemeFactory());
+  }
+
   private String name; // required
   private TopologyStatus status; // required
   private int num_workers; // required
-  private Map<String,Integer> component_executors; // required
-  private int launch_time_secs; // required
-  private String owner; // required
-  private TopologyActionOptions topology_action_options; // required
-  private TopologyStatus prev_status; // required
+  private Map<String,Integer> component_executors; // optional
+  private int launch_time_secs; // optional
+  private String owner; // optional
+  private TopologyActionOptions topology_action_options; // optional
+  private TopologyStatus prev_status; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -149,28 +169,28 @@ public class StormBase implements org.apache.thrift.TBase<StormBase, StormBase._
   // isset id assignments
   private static final int __NUM_WORKERS_ISSET_ID = 0;
   private static final int __LAUNCH_TIME_SECS_ISSET_ID = 1;
-  private BitSet __isset_bit_vector = new BitSet(2);
-
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.COMPONENT_EXECUTORS,_Fields.LAUNCH_TIME_SECS,_Fields.OWNER,_Fields.TOPOLOGY_ACTION_OPTIONS,_Fields.PREV_STATUS};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.REQUIRED,
+    tmpMap.put(_Fields.NAME, new org.apache.thrift.meta_data.FieldMetaData("name", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.REQUIRED,
+    tmpMap.put(_Fields.STATUS, new org.apache.thrift.meta_data.FieldMetaData("status", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TopologyStatus.class)));
-    tmpMap.put(_Fields.NUM_WORKERS, new org.apache.thrift.meta_data.FieldMetaData("num_workers", org.apache.thrift.TFieldRequirementType.REQUIRED,
+    tmpMap.put(_Fields.NUM_WORKERS, new org.apache.thrift.meta_data.FieldMetaData("num_workers", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
-    tmpMap.put(_Fields.COMPONENT_EXECUTORS, new org.apache.thrift.meta_data.FieldMetaData("component_executors", org.apache.thrift.TFieldRequirementType.OPTIONAL,
-        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP,
-            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING),
+    tmpMap.put(_Fields.COMPONENT_EXECUTORS, new org.apache.thrift.meta_data.FieldMetaData("component_executors", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))));
-    tmpMap.put(_Fields.LAUNCH_TIME_SECS, new org.apache.thrift.meta_data.FieldMetaData("launch_time_secs", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+    tmpMap.put(_Fields.LAUNCH_TIME_SECS, new org.apache.thrift.meta_data.FieldMetaData("launch_time_secs", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
-    tmpMap.put(_Fields.OWNER, new org.apache.thrift.meta_data.FieldMetaData("owner", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+    tmpMap.put(_Fields.OWNER, new org.apache.thrift.meta_data.FieldMetaData("owner", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.TOPOLOGY_ACTION_OPTIONS, new org.apache.thrift.meta_data.FieldMetaData("topology_action_options", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+    tmpMap.put(_Fields.TOPOLOGY_ACTION_OPTIONS, new org.apache.thrift.meta_data.FieldMetaData("topology_action_options", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TopologyActionOptions.class)));
-    tmpMap.put(_Fields.PREV_STATUS, new org.apache.thrift.meta_data.FieldMetaData("prev_status", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+    tmpMap.put(_Fields.PREV_STATUS, new org.apache.thrift.meta_data.FieldMetaData("prev_status", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TopologyStatus.class)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(StormBase.class, metaDataMap);
@@ -195,8 +215,7 @@ public class StormBase implements org.apache.thrift.TBase<StormBase, StormBase._
    * Performs a deep copy on <i>other</i>.
    */
   public StormBase(StormBase other) {
-    __isset_bit_vector.clear();
-    __isset_bit_vector.or(other.__isset_bit_vector);
+    __isset_bitfield = other.__isset_bitfield;
     if (other.is_set_name()) {
       this.name = other.name;
     }
@@ -205,18 +224,7 @@ public class StormBase implements org.apache.thrift.TBase<StormBase, StormBase._
     }
     this.num_workers = other.num_workers;
     if (other.is_set_component_executors()) {
-      Map<String,Integer> __this__component_executors = new HashMap<String,Integer>();
-      for (Map.Entry<String, Integer> other_element : other.component_executors.entrySet()) {
-
-        String other_element_key = other_element.getKey();
-        Integer other_element_value = other_element.getValue();
-
-        String __this__component_executors_copy_key = other_element_key;
-
-        Integer __this__component_executors_copy_value = other_element_value;
-
-        __this__component_executors.put(__this__component_executors_copy_key, __this__component_executors_copy_value);
-      }
+      Map<String,Integer> __this__component_executors = new HashMap<String,Integer>(other.component_executors);
       this.component_executors = __this__component_executors;
     }
     this.launch_time_secs = other.launch_time_secs;
@@ -313,16 +321,16 @@ public class StormBase implements org.apache.thrift.TBase<StormBase, StormBase._
   }
 
   public void unset_num_workers() {
-    __isset_bit_vector.clear(__NUM_WORKERS_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __NUM_WORKERS_ISSET_ID);
   }
 
   /** Returns true if field num_workers is set (has been assigned a value) and false otherwise */
   public boolean is_set_num_workers() {
-    return __isset_bit_vector.get(__NUM_WORKERS_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __NUM_WORKERS_ISSET_ID);
   }
 
   public void set_num_workers_isSet(boolean value) {
-    __isset_bit_vector.set(__NUM_WORKERS_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __NUM_WORKERS_ISSET_ID, value);
   }
 
   public int get_component_executors_size() {
@@ -369,16 +377,16 @@ public class StormBase implements org.apache.thrift.TBase<StormBase, StormBase._
   }
 
   public void unset_launch_time_secs() {
-    __isset_bit_vector.clear(__LAUNCH_TIME_SECS_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __LAUNCH_TIME_SECS_ISSET_ID);
   }
 
   /** Returns true if field launch_time_secs is set (has been assigned a value) and false otherwise */
   public boolean is_set_launch_time_secs() {
-    return __isset_bit_vector.get(__LAUNCH_TIME_SECS_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __LAUNCH_TIME_SECS_ISSET_ID);
   }
 
   public void set_launch_time_secs_isSet(boolean value) {
-    __isset_bit_vector.set(__LAUNCH_TIME_SECS_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __LAUNCH_TIME_SECS_ISSET_ID, value);
   }
 
   public String get_owner() {
@@ -674,135 +682,135 @@ public class StormBase implements org.apache.thrift.TBase<StormBase, StormBase._
 
   @Override
   public int hashCode() {
-    HashCodeBuilder builder = new HashCodeBuilder();
+    List<Object> list = new ArrayList<Object>();
 
     boolean present_name = true && (is_set_name());
-    builder.append(present_name);
+    list.add(present_name);
     if (present_name)
-      builder.append(name);
+      list.add(name);
 
     boolean present_status = true && (is_set_status());
-    builder.append(present_status);
+    list.add(present_status);
     if (present_status)
-      builder.append(status.getValue());
+      list.add(status.getValue());
 
     boolean present_num_workers = true;
-    builder.append(present_num_workers);
+    list.add(present_num_workers);
     if (present_num_workers)
-      builder.append(num_workers);
+      list.add(num_workers);
 
     boolean present_component_executors = true && (is_set_component_executors());
-    builder.append(present_component_executors);
+    list.add(present_component_executors);
     if (present_component_executors)
-      builder.append(component_executors);
+      list.add(component_executors);
 
     boolean present_launch_time_secs = true && (is_set_launch_time_secs());
-    builder.append(present_launch_time_secs);
+    list.add(present_launch_time_secs);
     if (present_launch_time_secs)
-      builder.append(launch_time_secs);
+      list.add(launch_time_secs);
 
     boolean present_owner = true && (is_set_owner());
-    builder.append(present_owner);
+    list.add(present_owner);
     if (present_owner)
-      builder.append(owner);
+      list.add(owner);
 
     boolean present_topology_action_options = true && (is_set_topology_action_options());
-    builder.append(present_topology_action_options);
+    list.add(present_topology_action_options);
     if (present_topology_action_options)
-      builder.append(topology_action_options);
+      list.add(topology_action_options);
 
     boolean present_prev_status = true && (is_set_prev_status());
-    builder.append(present_prev_status);
+    list.add(present_prev_status);
     if (present_prev_status)
-      builder.append(prev_status.getValue());
+      list.add(prev_status.getValue());
 
-    return builder.toHashCode();
+    return list.hashCode();
   }
 
+  @Override
   public int compareTo(StormBase other) {
     if (!getClass().equals(other.getClass())) {
       return getClass().getName().compareTo(other.getClass().getName());
     }
 
     int lastComparison = 0;
-    StormBase typedOther = (StormBase)other;
 
-    lastComparison = Boolean.valueOf(is_set_name()).compareTo(typedOther.is_set_name());
+    lastComparison = Boolean.valueOf(is_set_name()).compareTo(other.is_set_name());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_name()) {
-      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(is_set_status()).compareTo(typedOther.is_set_status());
+    lastComparison = Boolean.valueOf(is_set_status()).compareTo(other.is_set_status());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_status()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, typedOther.status);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.status, other.status);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_num_workers()).compareTo(typedOther.is_set_num_workers());
+    lastComparison = Boolean.valueOf(is_set_num_workers()).compareTo(other.is_set_num_workers());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_num_workers()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.num_workers, typedOther.num_workers);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.num_workers, other.num_workers);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_component_executors()).compareTo(typedOther.is_set_component_executors());
+    lastComparison = Boolean.valueOf(is_set_component_executors()).compareTo(other.is_set_component_executors());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_component_executors()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.component_executors, typedOther.component_executors);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.component_executors, other.component_executors);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_launch_time_secs()).compareTo(typedOther.is_set_launch_time_secs());
+    lastComparison = Boolean.valueOf(is_set_launch_time_secs()).compareTo(other.is_set_launch_time_secs());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_launch_time_secs()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.launch_time_secs, typedOther.launch_time_secs);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.launch_time_secs, other.launch_time_secs);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_owner()).compareTo(typedOther.is_set_owner());
+    lastComparison = Boolean.valueOf(is_set_owner()).compareTo(other.is_set_owner());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_owner()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.owner, typedOther.owner);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.owner, other.owner);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_topology_action_options()).compareTo(typedOther.is_set_topology_action_options());
+    lastComparison = Boolean.valueOf(is_set_topology_action_options()).compareTo(other.is_set_topology_action_options());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_topology_action_options()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topology_action_options, typedOther.topology_action_options);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.topology_action_options, other.topology_action_options);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_prev_status()).compareTo(typedOther.is_set_prev_status());
+    lastComparison = Boolean.valueOf(is_set_prev_status()).compareTo(other.is_set_prev_status());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_prev_status()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.prev_status, typedOther.prev_status);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.prev_status, other.prev_status);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -815,155 +823,11 @@ public class StormBase implements org.apache.thrift.TBase<StormBase, StormBase._
   }
 
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    org.apache.thrift.protocol.TField field;
-    iprot.readStructBegin();
-    while (true)
-    {
-      field = iprot.readFieldBegin();
-      if (field.type == org.apache.thrift.protocol.TType.STOP) {
-        break;
-      }
-      switch (field.id) {
-        case 1: // NAME
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.name = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // STATUS
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.status = TopologyStatus.findByValue(iprot.readI32());
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 3: // NUM_WORKERS
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.num_workers = iprot.readI32();
-            set_num_workers_isSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 4: // COMPONENT_EXECUTORS
-          if (field.type == org.apache.thrift.protocol.TType.MAP) {
-            {
-              org.apache.thrift.protocol.TMap _map208 = iprot.readMapBegin();
-              this.component_executors = new HashMap<String,Integer>(2*_map208.size);
-              for (int _i209 = 0; _i209 < _map208.size; ++_i209)
-              {
-                String _key210; // required
-                int _val211; // required
-                _key210 = iprot.readString();
-                _val211 = iprot.readI32();
-                this.component_executors.put(_key210, _val211);
-              }
-              iprot.readMapEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 5: // LAUNCH_TIME_SECS
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.launch_time_secs = iprot.readI32();
-            set_launch_time_secs_isSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 6: // OWNER
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.owner = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 7: // TOPOLOGY_ACTION_OPTIONS
-          if (field.type == org.apache.thrift.protocol.TType.STRUCT) {
-            this.topology_action_options = new TopologyActionOptions();
-            this.topology_action_options.read(iprot);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 8: // PREV_STATUS
-          if (field.type == org.apache.thrift.protocol.TType.I32) {
-            this.prev_status = TopologyStatus.findByValue(iprot.readI32());
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        default:
-          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-      }
-      iprot.readFieldEnd();
-    }
-    iprot.readStructEnd();
-    validate();
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
   }
 
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    validate();
-
-    oprot.writeStructBegin(STRUCT_DESC);
-    if (this.name != null) {
-      oprot.writeFieldBegin(NAME_FIELD_DESC);
-      oprot.writeString(this.name);
-      oprot.writeFieldEnd();
-    }
-    if (this.status != null) {
-      oprot.writeFieldBegin(STATUS_FIELD_DESC);
-      oprot.writeI32(this.status.getValue());
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldBegin(NUM_WORKERS_FIELD_DESC);
-    oprot.writeI32(this.num_workers);
-    oprot.writeFieldEnd();
-    if (this.component_executors != null) {
-      if (is_set_component_executors()) {
-        oprot.writeFieldBegin(COMPONENT_EXECUTORS_FIELD_DESC);
-        {
-          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, this.component_executors.size()));
-          for (Map.Entry<String, Integer> _iter212 : this.component_executors.entrySet())
-          {
-            oprot.writeString(_iter212.getKey());
-            oprot.writeI32(_iter212.getValue());
-          }
-          oprot.writeMapEnd();
-        }
-        oprot.writeFieldEnd();
-      }
-    }
-    if (is_set_launch_time_secs()) {
-      oprot.writeFieldBegin(LAUNCH_TIME_SECS_FIELD_DESC);
-      oprot.writeI32(this.launch_time_secs);
-      oprot.writeFieldEnd();
-    }
-    if (this.owner != null) {
-      if (is_set_owner()) {
-        oprot.writeFieldBegin(OWNER_FIELD_DESC);
-        oprot.writeString(this.owner);
-        oprot.writeFieldEnd();
-      }
-    }
-    if (this.topology_action_options != null) {
-      if (is_set_topology_action_options()) {
-        oprot.writeFieldBegin(TOPOLOGY_ACTION_OPTIONS_FIELD_DESC);
-        this.topology_action_options.write(oprot);
-        oprot.writeFieldEnd();
-      }
-    }
-    if (this.prev_status != null) {
-      if (is_set_prev_status()) {
-        oprot.writeFieldBegin(PREV_STATUS_FIELD_DESC);
-        oprot.writeI32(this.prev_status.getValue());
-        oprot.writeFieldEnd();
-      }
-    }
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -1054,6 +918,7 @@ public class StormBase implements org.apache.thrift.TBase<StormBase, StormBase._
       throw new org.apache.thrift.protocol.TProtocolException("Required field 'num_workers' is unset! Struct:" + toString());
     }
 
+    // check for sub-struct validity
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -1067,12 +932,280 @@ public class StormBase implements org.apache.thrift.TBase<StormBase, StormBase._
   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);
     }
   }
 
+  private static class StormBaseStandardSchemeFactory implements SchemeFactory {
+    public StormBaseStandardScheme getScheme() {
+      return new StormBaseStandardScheme();
+    }
+  }
+
+  private static class StormBaseStandardScheme extends StandardScheme<StormBase> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, StormBase struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // NAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.name = iprot.readString();
+              struct.set_name_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // STATUS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.status = backtype.storm.generated.TopologyStatus.findByValue(iprot.readI32());
+              struct.set_status_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // NUM_WORKERS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.num_workers = iprot.readI32();
+              struct.set_num_workers_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // COMPONENT_EXECUTORS
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map416 = iprot.readMapBegin();
+                struct.component_executors = new HashMap<String,Integer>(2*_map416.size);
+                String _key417;
+                int _val418;
+                for (int _i419 = 0; _i419 < _map416.size; ++_i419)
+                {
+                  _key417 = iprot.readString();
+                  _val418 = iprot.readI32();
+                  struct.component_executors.put(_key417, _val418);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_component_executors_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // LAUNCH_TIME_SECS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.launch_time_secs = iprot.readI32();
+              struct.set_launch_time_secs_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // OWNER
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.owner = iprot.readString();
+              struct.set_owner_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // TOPOLOGY_ACTION_OPTIONS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+              struct.topology_action_options = new TopologyActionOptions();
+              struct.topology_action_options.read(iprot);
+              struct.set_topology_action_options_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 8: // PREV_STATUS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.prev_status = backtype.storm.generated.TopologyStatus.findByValue(iprot.readI32());
+              struct.set_prev_status_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, StormBase struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      if (struct.name != null) {
+        oprot.writeFieldBegin(NAME_FIELD_DESC);
+        oprot.writeString(struct.name);
+        oprot.writeFieldEnd();
+      }
+      if (struct.status != null) {
+        oprot.writeFieldBegin(STATUS_FIELD_DESC);
+        oprot.writeI32(struct.status.getValue());
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldBegin(NUM_WORKERS_FIELD_DESC);
+      oprot.writeI32(struct.num_workers);
+      oprot.writeFieldEnd();
+      if (struct.component_executors != null) {
+        if (struct.is_set_component_executors()) {
+          oprot.writeFieldBegin(COMPONENT_EXECUTORS_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, struct.component_executors.size()));
+            for (Map.Entry<String, Integer> _iter420 : struct.component_executors.entrySet())
+            {
+              oprot.writeString(_iter420.getKey());
+              oprot.writeI32(_iter420.getValue());
+            }
+            oprot.writeMapEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.is_set_launch_time_secs()) {
+        oprot.writeFieldBegin(LAUNCH_TIME_SECS_FIELD_DESC);
+        oprot.writeI32(struct.launch_time_secs);
+        oprot.writeFieldEnd();
+      }
+      if (struct.owner != null) {
+        if (struct.is_set_owner()) {
+          oprot.writeFieldBegin(OWNER_FIELD_DESC);
+          oprot.writeString(struct.owner);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.topology_action_options != null) {
+        if (struct.is_set_topology_action_options()) {
+          oprot.writeFieldBegin(TOPOLOGY_ACTION_OPTIONS_FIELD_DESC);
+          struct.topology_action_options.write(oprot);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.prev_status != null) {
+        if (struct.is_set_prev_status()) {
+          oprot.writeFieldBegin(PREV_STATUS_FIELD_DESC);
+          oprot.writeI32(struct.prev_status.getValue());
+          oprot.writeFieldEnd();
+        }
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class StormBaseTupleSchemeFactory implements SchemeFactory {
+    public StormBaseTupleScheme getScheme() {
+      return new StormBaseTupleScheme();
+    }
+  }
+
+  private static class StormBaseTupleScheme extends TupleScheme<StormBase> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, StormBase struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeString(struct.name);
+      oprot.writeI32(struct.status.getValue());
+      oprot.writeI32(struct.num_workers);
+      BitSet optionals = new BitSet();
+      if (struct.is_set_component_executors()) {
+        optionals.set(0);
+      }
+      if (struct.is_set_launch_time_secs()) {
+        optionals.set(1);
+      }
+      if (struct.is_set_owner()) {
+        optionals.set(2);
+      }
+      if (struct.is_set_topology_action_options()) {
+        optionals.set(3);
+      }
+      if (struct.is_set_prev_status()) {
+        optionals.set(4);
+      }
+      oprot.writeBitSet(optionals, 5);
+      if (struct.is_set_component_executors()) {
+        {
+          oprot.writeI32(struct.component_executors.size());
+          for (Map.Entry<String, Integer> _iter421 : struct.component_executors.entrySet())
+          {
+            oprot.writeString(_iter421.getKey());
+            oprot.writeI32(_iter421.getValue());
+          }
+        }
+      }
+      if (struct.is_set_launch_time_secs()) {
+        oprot.writeI32(struct.launch_time_secs);
+      }
+      if (struct.is_set_owner()) {
+        oprot.writeString(struct.owner);
+      }
+      if (struct.is_set_topology_action_options()) {
+        struct.topology_action_options.write(oprot);
+      }
+      if (struct.is_set_prev_status()) {
+        oprot.writeI32(struct.prev_status.getValue());
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, StormBase struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.name = iprot.readString();
+      struct.set_name_isSet(true);
+      struct.status = backtype.storm.generated.TopologyStatus.findByValue(iprot.readI32());
+      struct.set_status_isSet(true);
+      struct.num_workers = iprot.readI32();
+      struct.set_num_workers_isSet(true);
+      BitSet incoming = iprot.readBitSet(5);
+      if (incoming.get(0)) {
+        {
+          org.apache.thrift.protocol.TMap _map422 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
+          struct.component_executors = new HashMap<String,Integer>(2*_map422.size);
+          String _key423;
+          int _val424;
+          for (int _i425 = 0; _i425 < _map422.size; ++_i425)
+          {
+            _key423 = iprot.readString();
+            _val424 = iprot.readI32();
+            struct.component_executors.put(_key423, _val424);
+          }
+        }
+        struct.set_component_executors_isSet(true);
+      }
+      if (incoming.get(1)) {
+        struct.launch_time_secs = iprot.readI32();
+        struct.set_launch_time_secs_isSet(true);
+      }
+      if (incoming.get(2)) {
+        struct.owner = iprot.readString();
+        struct.set_owner_isSet(true);
+      }
+      if (incoming.get(3)) {
+        struct.topology_action_options = new TopologyActionOptions();
+        struct.topology_action_options.read(iprot);
+        struct.set_topology_action_options_isSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.prev_status = backtype.storm.generated.TopologyStatus.findByValue(iprot.readI32());
+        struct.set_prev_status_isSet(true);
+      }
+    }
+  }
+
 }
 

http://git-wip-us.apache.org/repos/asf/storm/blob/539a6a21/storm-core/src/jvm/backtype/storm/generated/SupervisorInfo.java
----------------------------------------------------------------------
diff --git a/storm-core/src/jvm/backtype/storm/generated/SupervisorInfo.java b/storm-core/src/jvm/backtype/storm/generated/SupervisorInfo.java
index 523b1c0..924d12f 100644
--- a/storm-core/src/jvm/backtype/storm/generated/SupervisorInfo.java
+++ b/storm-core/src/jvm/backtype/storm/generated/SupervisorInfo.java
@@ -16,13 +16,24 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.7.0)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
  */
 package backtype.storm.generated;
 
-import org.apache.commons.lang.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;
@@ -35,10 +46,13 @@ import java.util.Collections;
 import java.util.BitSet;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
+import javax.annotation.Generated;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class SupervisorInfo implements org.apache.thrift.TBase<SupervisorInfo, SupervisorInfo._Fields>, java.io.Serializable, Cloneable {
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-3-5")
+public class SupervisorInfo implements org.apache.thrift.TBase<SupervisorInfo, SupervisorInfo._Fields>, java.io.Serializable, Cloneable, Comparable<SupervisorInfo> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SupervisorInfo");
 
   private static final org.apache.thrift.protocol.TField TIME_SECS_FIELD_DESC = new org.apache.thrift.protocol.TField("time_secs", org.apache.thrift.protocol.TType.I64, (short)1);
@@ -49,13 +63,19 @@ public class SupervisorInfo implements org.apache.thrift.TBase<SupervisorInfo, S
   private static final org.apache.thrift.protocol.TField SCHEDULER_META_FIELD_DESC = new org.apache.thrift.protocol.TField("scheduler_meta", org.apache.thrift.protocol.TType.MAP, (short)6);
   private static final org.apache.thrift.protocol.TField UPTIME_SECS_FIELD_DESC = new org.apache.thrift.protocol.TField("uptime_secs", org.apache.thrift.protocol.TType.I64, (short)7);
 
+  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
+  static {
+    schemes.put(StandardScheme.class, new SupervisorInfoStandardSchemeFactory());
+    schemes.put(TupleScheme.class, new SupervisorInfoTupleSchemeFactory());
+  }
+
   private long time_secs; // required
   private String hostname; // required
-  private String assignment_id; // required
-  private List<Long> used_ports; // required
-  private List<Long> meta; // required
-  private Map<String,String> scheduler_meta; // required
-  private long uptime_secs; // required
+  private String assignment_id; // optional
+  private List<Long> used_ports; // optional
+  private List<Long> meta; // optional
+  private Map<String,String> scheduler_meta; // optional
+  private long uptime_secs; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -136,28 +156,28 @@ public class SupervisorInfo implements org.apache.thrift.TBase<SupervisorInfo, S
   // isset id assignments
   private static final int __TIME_SECS_ISSET_ID = 0;
   private static final int __UPTIME_SECS_ISSET_ID = 1;
-  private BitSet __isset_bit_vector = new BitSet(2);
-
+  private byte __isset_bitfield = 0;
+  private static final _Fields optionals[] = {_Fields.ASSIGNMENT_ID,_Fields.USED_PORTS,_Fields.META,_Fields.SCHEDULER_META,_Fields.UPTIME_SECS};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.TIME_SECS, new org.apache.thrift.meta_data.FieldMetaData("time_secs", org.apache.thrift.TFieldRequirementType.REQUIRED,
+    tmpMap.put(_Fields.TIME_SECS, new org.apache.thrift.meta_data.FieldMetaData("time_secs", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
-    tmpMap.put(_Fields.HOSTNAME, new org.apache.thrift.meta_data.FieldMetaData("hostname", org.apache.thrift.TFieldRequirementType.REQUIRED,
+    tmpMap.put(_Fields.HOSTNAME, new org.apache.thrift.meta_data.FieldMetaData("hostname", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.ASSIGNMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("assignment_id", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+    tmpMap.put(_Fields.ASSIGNMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("assignment_id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.USED_PORTS, new org.apache.thrift.meta_data.FieldMetaData("used_ports", org.apache.thrift.TFieldRequirementType.OPTIONAL,
-        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
+    tmpMap.put(_Fields.USED_PORTS, new org.apache.thrift.meta_data.FieldMetaData("used_ports", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
-    tmpMap.put(_Fields.META, new org.apache.thrift.meta_data.FieldMetaData("meta", org.apache.thrift.TFieldRequirementType.OPTIONAL,
-        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
+    tmpMap.put(_Fields.META, new org.apache.thrift.meta_data.FieldMetaData("meta", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
-    tmpMap.put(_Fields.SCHEDULER_META, new org.apache.thrift.meta_data.FieldMetaData("scheduler_meta", org.apache.thrift.TFieldRequirementType.OPTIONAL,
-        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP,
-            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING),
+    tmpMap.put(_Fields.SCHEDULER_META, new org.apache.thrift.meta_data.FieldMetaData("scheduler_meta", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
             new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
-    tmpMap.put(_Fields.UPTIME_SECS, new org.apache.thrift.meta_data.FieldMetaData("uptime_secs", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+    tmpMap.put(_Fields.UPTIME_SECS, new org.apache.thrift.meta_data.FieldMetaData("uptime_secs", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(SupervisorInfo.class, metaDataMap);
@@ -180,8 +200,7 @@ public class SupervisorInfo implements org.apache.thrift.TBase<SupervisorInfo, S
    * Performs a deep copy on <i>other</i>.
    */
   public SupervisorInfo(SupervisorInfo other) {
-    __isset_bit_vector.clear();
-    __isset_bit_vector.or(other.__isset_bit_vector);
+    __isset_bitfield = other.__isset_bitfield;
     this.time_secs = other.time_secs;
     if (other.is_set_hostname()) {
       this.hostname = other.hostname;
@@ -190,32 +209,15 @@ public class SupervisorInfo implements org.apache.thrift.TBase<SupervisorInfo, S
       this.assignment_id = other.assignment_id;
     }
     if (other.is_set_used_ports()) {
-      List<Long> __this__used_ports = new ArrayList<Long>();
-      for (Long other_element : other.used_ports) {
-        __this__used_ports.add(other_element);
-      }
+      List<Long> __this__used_ports = new ArrayList<Long>(other.used_ports);
       this.used_ports = __this__used_ports;
     }
     if (other.is_set_meta()) {
-      List<Long> __this__meta = new ArrayList<Long>();
-      for (Long other_element : other.meta) {
-        __this__meta.add(other_element);
-      }
+      List<Long> __this__meta = new ArrayList<Long>(other.meta);
       this.meta = __this__meta;
     }
     if (other.is_set_scheduler_meta()) {
-      Map<String,String> __this__scheduler_meta = new HashMap<String,String>();
-      for (Map.Entry<String, String> other_element : other.scheduler_meta.entrySet()) {
-
-        String other_element_key = other_element.getKey();
-        String other_element_value = other_element.getValue();
-
-        String __this__scheduler_meta_copy_key = other_element_key;
-
-        String __this__scheduler_meta_copy_value = other_element_value;
-
-        __this__scheduler_meta.put(__this__scheduler_meta_copy_key, __this__scheduler_meta_copy_value);
-      }
+      Map<String,String> __this__scheduler_meta = new HashMap<String,String>(other.scheduler_meta);
       this.scheduler_meta = __this__scheduler_meta;
     }
     this.uptime_secs = other.uptime_secs;
@@ -248,16 +250,16 @@ public class SupervisorInfo implements org.apache.thrift.TBase<SupervisorInfo, S
   }
 
   public void unset_time_secs() {
-    __isset_bit_vector.clear(__TIME_SECS_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __TIME_SECS_ISSET_ID);
   }
 
   /** Returns true if field time_secs is set (has been assigned a value) and false otherwise */
   public boolean is_set_time_secs() {
-    return __isset_bit_vector.get(__TIME_SECS_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __TIME_SECS_ISSET_ID);
   }
 
   public void set_time_secs_isSet(boolean value) {
-    __isset_bit_vector.set(__TIME_SECS_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __TIME_SECS_ISSET_ID, value);
   }
 
   public String get_hostname() {
@@ -426,16 +428,16 @@ public class SupervisorInfo implements org.apache.thrift.TBase<SupervisorInfo, S
   }
 
   public void unset_uptime_secs() {
-    __isset_bit_vector.clear(__UPTIME_SECS_ISSET_ID);
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __UPTIME_SECS_ISSET_ID);
   }
 
   /** Returns true if field uptime_secs is set (has been assigned a value) and false otherwise */
   public boolean is_set_uptime_secs() {
-    return __isset_bit_vector.get(__UPTIME_SECS_ISSET_ID);
+    return EncodingUtils.testBit(__isset_bitfield, __UPTIME_SECS_ISSET_ID);
   }
 
   public void set_uptime_secs_isSet(boolean value) {
-    __isset_bit_vector.set(__UPTIME_SECS_ISSET_ID, value);
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __UPTIME_SECS_ISSET_ID, value);
   }
 
   public void setFieldValue(_Fields field, Object value) {
@@ -632,120 +634,120 @@ public class SupervisorInfo implements org.apache.thrift.TBase<SupervisorInfo, S
 
   @Override
   public int hashCode() {
-    HashCodeBuilder builder = new HashCodeBuilder();
+    List<Object> list = new ArrayList<Object>();
 
     boolean present_time_secs = true;
-    builder.append(present_time_secs);
+    list.add(present_time_secs);
     if (present_time_secs)
-      builder.append(time_secs);
+      list.add(time_secs);
 
     boolean present_hostname = true && (is_set_hostname());
-    builder.append(present_hostname);
+    list.add(present_hostname);
     if (present_hostname)
-      builder.append(hostname);
+      list.add(hostname);
 
     boolean present_assignment_id = true && (is_set_assignment_id());
-    builder.append(present_assignment_id);
+    list.add(present_assignment_id);
     if (present_assignment_id)
-      builder.append(assignment_id);
+      list.add(assignment_id);
 
     boolean present_used_ports = true && (is_set_used_ports());
-    builder.append(present_used_ports);
+    list.add(present_used_ports);
     if (present_used_ports)
-      builder.append(used_ports);
+      list.add(used_ports);
 
     boolean present_meta = true && (is_set_meta());
-    builder.append(present_meta);
+    list.add(present_meta);
     if (present_meta)
-      builder.append(meta);
+      list.add(meta);
 
     boolean present_scheduler_meta = true && (is_set_scheduler_meta());
-    builder.append(present_scheduler_meta);
+    list.add(present_scheduler_meta);
     if (present_scheduler_meta)
-      builder.append(scheduler_meta);
+      list.add(scheduler_meta);
 
     boolean present_uptime_secs = true && (is_set_uptime_secs());
-    builder.append(present_uptime_secs);
+    list.add(present_uptime_secs);
     if (present_uptime_secs)
-      builder.append(uptime_secs);
+      list.add(uptime_secs);
 
-    return builder.toHashCode();
+    return list.hashCode();
   }
 
+  @Override
   public int compareTo(SupervisorInfo other) {
     if (!getClass().equals(other.getClass())) {
       return getClass().getName().compareTo(other.getClass().getName());
     }
 
     int lastComparison = 0;
-    SupervisorInfo typedOther = (SupervisorInfo)other;
 
-    lastComparison = Boolean.valueOf(is_set_time_secs()).compareTo(typedOther.is_set_time_secs());
+    lastComparison = Boolean.valueOf(is_set_time_secs()).compareTo(other.is_set_time_secs());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_time_secs()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.time_secs, typedOther.time_secs);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.time_secs, other.time_secs);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_hostname()).compareTo(typedOther.is_set_hostname());
+    lastComparison = Boolean.valueOf(is_set_hostname()).compareTo(other.is_set_hostname());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_hostname()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hostname, typedOther.hostname);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hostname, other.hostname);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_assignment_id()).compareTo(typedOther.is_set_assignment_id());
+    lastComparison = Boolean.valueOf(is_set_assignment_id()).compareTo(other.is_set_assignment_id());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_assignment_id()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.assignment_id, typedOther.assignment_id);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.assignment_id, other.assignment_id);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_used_ports()).compareTo(typedOther.is_set_used_ports());
+    lastComparison = Boolean.valueOf(is_set_used_ports()).compareTo(other.is_set_used_ports());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_used_ports()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.used_ports, typedOther.used_ports);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.used_ports, other.used_ports);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_meta()).compareTo(typedOther.is_set_meta());
+    lastComparison = Boolean.valueOf(is_set_meta()).compareTo(other.is_set_meta());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_meta()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.meta, typedOther.meta);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.meta, other.meta);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_scheduler_meta()).compareTo(typedOther.is_set_scheduler_meta());
+    lastComparison = Boolean.valueOf(is_set_scheduler_meta()).compareTo(other.is_set_scheduler_meta());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_scheduler_meta()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.scheduler_meta, typedOther.scheduler_meta);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.scheduler_meta, other.scheduler_meta);
       if (lastComparison != 0) {
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(is_set_uptime_secs()).compareTo(typedOther.is_set_uptime_secs());
+    lastComparison = Boolean.valueOf(is_set_uptime_secs()).compareTo(other.is_set_uptime_secs());
     if (lastComparison != 0) {
       return lastComparison;
     }
     if (is_set_uptime_secs()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.uptime_secs, typedOther.uptime_secs);
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.uptime_secs, other.uptime_secs);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -758,176 +760,11 @@ public class SupervisorInfo implements org.apache.thrift.TBase<SupervisorInfo, S
   }
 
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    org.apache.thrift.protocol.TField field;
-    iprot.readStructBegin();
-    while (true)
-    {
-      field = iprot.readFieldBegin();
-      if (field.type == org.apache.thrift.protocol.TType.STOP) {
-        break;
-      }
-      switch (field.id) {
-        case 1: // TIME_SECS
-          if (field.type == org.apache.thrift.protocol.TType.I64) {
-            this.time_secs = iprot.readI64();
-            set_time_secs_isSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 2: // HOSTNAME
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.hostname = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 3: // ASSIGNMENT_ID
-          if (field.type == org.apache.thrift.protocol.TType.STRING) {
-            this.assignment_id = iprot.readString();
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 4: // USED_PORTS
-          if (field.type == org.apache.thrift.protocol.TType.LIST) {
-            {
-              org.apache.thrift.protocol.TList _list168 = iprot.readListBegin();
-              this.used_ports = new ArrayList<Long>(_list168.size);
-              for (int _i169 = 0; _i169 < _list168.size; ++_i169)
-              {
-                long _elem170; // required
-                _elem170 = iprot.readI64();
-                this.used_ports.add(_elem170);
-              }
-              iprot.readListEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 5: // META
-          if (field.type == org.apache.thrift.protocol.TType.LIST) {
-            {
-              org.apache.thrift.protocol.TList _list171 = iprot.readListBegin();
-              this.meta = new ArrayList<Long>(_list171.size);
-              for (int _i172 = 0; _i172 < _list171.size; ++_i172)
-              {
-                long _elem173; // required
-                _elem173 = iprot.readI64();
-                this.meta.add(_elem173);
-              }
-              iprot.readListEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 6: // SCHEDULER_META
-          if (field.type == org.apache.thrift.protocol.TType.MAP) {
-            {
-              org.apache.thrift.protocol.TMap _map174 = iprot.readMapBegin();
-              this.scheduler_meta = new HashMap<String,String>(2*_map174.size);
-              for (int _i175 = 0; _i175 < _map174.size; ++_i175)
-              {
-                String _key176; // required
-                String _val177; // required
-                _key176 = iprot.readString();
-                _val177 = iprot.readString();
-                this.scheduler_meta.put(_key176, _val177);
-              }
-              iprot.readMapEnd();
-            }
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        case 7: // UPTIME_SECS
-          if (field.type == org.apache.thrift.protocol.TType.I64) {
-            this.uptime_secs = iprot.readI64();
-            set_uptime_secs_isSet(true);
-          } else { 
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-          }
-          break;
-        default:
-          org.apache.thrift.protocol.TProtocolUtil.skip(iprot, field.type);
-      }
-      iprot.readFieldEnd();
-    }
-    iprot.readStructEnd();
-    validate();
+    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
   }
 
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    validate();
-
-    oprot.writeStructBegin(STRUCT_DESC);
-    oprot.writeFieldBegin(TIME_SECS_FIELD_DESC);
-    oprot.writeI64(this.time_secs);
-    oprot.writeFieldEnd();
-    if (this.hostname != null) {
-      oprot.writeFieldBegin(HOSTNAME_FIELD_DESC);
-      oprot.writeString(this.hostname);
-      oprot.writeFieldEnd();
-    }
-    if (this.assignment_id != null) {
-      if (is_set_assignment_id()) {
-        oprot.writeFieldBegin(ASSIGNMENT_ID_FIELD_DESC);
-        oprot.writeString(this.assignment_id);
-        oprot.writeFieldEnd();
-      }
-    }
-    if (this.used_ports != null) {
-      if (is_set_used_ports()) {
-        oprot.writeFieldBegin(USED_PORTS_FIELD_DESC);
-        {
-          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.used_ports.size()));
-          for (long _iter178 : this.used_ports)
-          {
-            oprot.writeI64(_iter178);
-          }
-          oprot.writeListEnd();
-        }
-        oprot.writeFieldEnd();
-      }
-    }
-    if (this.meta != null) {
-      if (is_set_meta()) {
-        oprot.writeFieldBegin(META_FIELD_DESC);
-        {
-          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, this.meta.size()));
-          for (long _iter179 : this.meta)
-          {
-            oprot.writeI64(_iter179);
-          }
-          oprot.writeListEnd();
-        }
-        oprot.writeFieldEnd();
-      }
-    }
-    if (this.scheduler_meta != null) {
-      if (is_set_scheduler_meta()) {
-        oprot.writeFieldBegin(SCHEDULER_META_FIELD_DESC);
-        {
-          oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, this.scheduler_meta.size()));
-          for (Map.Entry<String, String> _iter180 : this.scheduler_meta.entrySet())
-          {
-            oprot.writeString(_iter180.getKey());
-            oprot.writeString(_iter180.getValue());
-          }
-          oprot.writeMapEnd();
-        }
-        oprot.writeFieldEnd();
-      }
-    }
-    if (is_set_uptime_secs()) {
-      oprot.writeFieldBegin(UPTIME_SECS_FIELD_DESC);
-      oprot.writeI64(this.uptime_secs);
-      oprot.writeFieldEnd();
-    }
-    oprot.writeFieldStop();
-    oprot.writeStructEnd();
+    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
   }
 
   @Override
@@ -1006,6 +843,7 @@ public class SupervisorInfo implements org.apache.thrift.TBase<SupervisorInfo, S
       throw new org.apache.thrift.protocol.TProtocolException("Required field 'hostname' is unset! Struct:" + toString());
     }
 
+    // check for sub-struct validity
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -1019,12 +857,326 @@ public class SupervisorInfo implements org.apache.thrift.TBase<SupervisorInfo, S
   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);
     }
   }
 
+  private static class SupervisorInfoStandardSchemeFactory implements SchemeFactory {
+    public SupervisorInfoStandardScheme getScheme() {
+      return new SupervisorInfoStandardScheme();
+    }
+  }
+
+  private static class SupervisorInfoStandardScheme extends StandardScheme<SupervisorInfo> {
+
+    public void read(org.apache.thrift.protocol.TProtocol iprot, SupervisorInfo struct) throws org.apache.thrift.TException {
+      org.apache.thrift.protocol.TField schemeField;
+      iprot.readStructBegin();
+      while (true)
+      {
+        schemeField = iprot.readFieldBegin();
+        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
+          break;
+        }
+        switch (schemeField.id) {
+          case 1: // TIME_SECS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.time_secs = iprot.readI64();
+              struct.set_time_secs_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 2: // HOSTNAME
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.hostname = iprot.readString();
+              struct.set_hostname_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 3: // ASSIGNMENT_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.assignment_id = iprot.readString();
+              struct.set_assignment_id_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // USED_PORTS
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list336 = iprot.readListBegin();
+                struct.used_ports = new ArrayList<Long>(_list336.size);
+                long _elem337;
+                for (int _i338 = 0; _i338 < _list336.size; ++_i338)
+                {
+                  _elem337 = iprot.readI64();
+                  struct.used_ports.add(_elem337);
+                }
+                iprot.readListEnd();
+              }
+              struct.set_used_ports_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 5: // META
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list339 = iprot.readListBegin();
+                struct.meta = new ArrayList<Long>(_list339.size);
+                long _elem340;
+                for (int _i341 = 0; _i341 < _list339.size; ++_i341)
+                {
+                  _elem340 = iprot.readI64();
+                  struct.meta.add(_elem340);
+                }
+                iprot.readListEnd();
+              }
+              struct.set_meta_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // SCHEDULER_META
+            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
+              {
+                org.apache.thrift.protocol.TMap _map342 = iprot.readMapBegin();
+                struct.scheduler_meta = new HashMap<String,String>(2*_map342.size);
+                String _key343;
+                String _val344;
+                for (int _i345 = 0; _i345 < _map342.size; ++_i345)
+                {
+                  _key343 = iprot.readString();
+                  _val344 = iprot.readString();
+                  struct.scheduler_meta.put(_key343, _val344);
+                }
+                iprot.readMapEnd();
+              }
+              struct.set_scheduler_meta_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 7: // UPTIME_SECS
+            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
+              struct.uptime_secs = iprot.readI64();
+              struct.set_uptime_secs_isSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          default:
+            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+        }
+        iprot.readFieldEnd();
+      }
+      iprot.readStructEnd();
+      struct.validate();
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot, SupervisorInfo struct) throws org.apache.thrift.TException {
+      struct.validate();
+
+      oprot.writeStructBegin(STRUCT_DESC);
+      oprot.writeFieldBegin(TIME_SECS_FIELD_DESC);
+      oprot.writeI64(struct.time_secs);
+      oprot.writeFieldEnd();
+      if (struct.hostname != null) {
+        oprot.writeFieldBegin(HOSTNAME_FIELD_DESC);
+        oprot.writeString(struct.hostname);
+        oprot.writeFieldEnd();
+      }
+      if (struct.assignment_id != null) {
+        if (struct.is_set_assignment_id()) {
+          oprot.writeFieldBegin(ASSIGNMENT_ID_FIELD_DESC);
+          oprot.writeString(struct.assignment_id);
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.used_ports != null) {
+        if (struct.is_set_used_ports()) {
+          oprot.writeFieldBegin(USED_PORTS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.used_ports.size()));
+            for (long _iter346 : struct.used_ports)
+            {
+              oprot.writeI64(_iter346);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.meta != null) {
+        if (struct.is_set_meta()) {
+          oprot.writeFieldBegin(META_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.meta.size()));
+            for (long _iter347 : struct.meta)
+            {
+              oprot.writeI64(_iter347);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.scheduler_meta != null) {
+        if (struct.is_set_scheduler_meta()) {
+          oprot.writeFieldBegin(SCHEDULER_META_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.scheduler_meta.size()));
+            for (Map.Entry<String, String> _iter348 : struct.scheduler_meta.entrySet())
+            {
+              oprot.writeString(_iter348.getKey());
+              oprot.writeString(_iter348.getValue());
+            }
+            oprot.writeMapEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
+      if (struct.is_set_uptime_secs()) {
+        oprot.writeFieldBegin(UPTIME_SECS_FIELD_DESC);
+        oprot.writeI64(struct.uptime_secs);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldStop();
+      oprot.writeStructEnd();
+    }
+
+  }
+
+  private static class SupervisorInfoTupleSchemeFactory implements SchemeFactory {
+    public SupervisorInfoTupleScheme getScheme() {
+      return new SupervisorInfoTupleScheme();
+    }
+  }
+
+  private static class SupervisorInfoTupleScheme extends TupleScheme<SupervisorInfo> {
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol prot, SupervisorInfo struct) throws org.apache.thrift.TException {
+      TTupleProtocol oprot = (TTupleProtocol) prot;
+      oprot.writeI64(struct.time_secs);
+      oprot.writeString(struct.hostname);
+      BitSet optionals = new BitSet();
+      if (struct.is_set_assignment_id()) {
+        optionals.set(0);
+      }
+      if (struct.is_set_used_ports()) {
+        optionals.set(1);
+      }
+      if (struct.is_set_meta()) {
+        optionals.set(2);
+      }
+      if (struct.is_set_scheduler_meta()) {
+        optionals.set(3);
+      }
+      if (struct.is_set_uptime_secs()) {
+        optionals.set(4);
+      }
+      oprot.writeBitSet(optionals, 5);
+      if (struct.is_set_assignment_id()) {
+        oprot.writeString(struct.assignment_id);
+      }
+      if (struct.is_set_used_ports()) {
+        {
+          oprot.writeI32(struct.used_ports.size());
+          for (long _iter349 : struct.used_ports)
+          {
+            oprot.writeI64(_iter349);
+          }
+        }
+      }
+      if (struct.is_set_meta()) {
+        {
+          oprot.writeI32(struct.meta.size());
+          for (long _iter350 : struct.meta)
+          {
+            oprot.writeI64(_iter350);
+          }
+        }
+      }
+      if (struct.is_set_scheduler_meta()) {
+        {
+          oprot.writeI32(struct.scheduler_meta.size());
+          for (Map.Entry<String, String> _iter351 : struct.scheduler_meta.entrySet())
+          {
+            oprot.writeString(_iter351.getKey());
+            oprot.writeString(_iter351.getValue());
+          }
+        }
+      }
+      if (struct.is_set_uptime_secs()) {
+        oprot.writeI64(struct.uptime_secs);
+      }
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol prot, SupervisorInfo struct) throws org.apache.thrift.TException {
+      TTupleProtocol iprot = (TTupleProtocol) prot;
+      struct.time_secs = iprot.readI64();
+      struct.set_time_secs_isSet(true);
+      struct.hostname = iprot.readString();
+      struct.set_hostname_isSet(true);
+      BitSet incoming = iprot.readBitSet(5);
+      if (incoming.get(0)) {
+        struct.assignment_id = iprot.readString();
+        struct.set_assignment_id_isSet(true);
+      }
+      if (incoming.get(1)) {
+        {
+          org.apache.thrift.protocol.TList _list352 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+          struct.used_ports = new ArrayList<Long>(_list352.size);
+          long _elem353;
+          for (int _i354 = 0; _i354 < _list352.size; ++_i354)
+          {
+            _elem353 = iprot.readI64();
+            struct.used_ports.add(_elem353);
+          }
+        }
+        struct.set_used_ports_isSet(true);
+      }
+      if (incoming.get(2)) {
+        {
+          org.apache.thrift.protocol.TList _list355 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
+          struct.meta = new ArrayList<Long>(_list355.size);
+          long _elem356;
+          for (int _i357 = 0; _i357 < _list355.size; ++_i357)
+          {
+            _elem356 = iprot.readI64();
+            struct.meta.add(_elem356);
+          }
+        }
+        struct.set_meta_isSet(true);
+      }
+      if (incoming.get(3)) {
+        {
+          org.apache.thrift.protocol.TMap _map358 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          struct.scheduler_meta = new HashMap<String,String>(2*_map358.size);
+          String _key359;
+          String _val360;
+          for (int _i361 = 0; _i361 < _map358.size; ++_i361)
+          {
+            _key359 = iprot.readString();
+            _val360 = iprot.readString();
+            struct.scheduler_meta.put(_key359, _val360);
+          }
+        }
+        struct.set_scheduler_meta_isSet(true);
+      }
+      if (incoming.get(4)) {
+        struct.uptime_secs = iprot.readI64();
+        struct.set_uptime_secs_isSet(true);
+      }
+    }
+  }
+
 }
 

http://git-wip-us.apache.org/repos/asf/storm/blob/539a6a21/storm-core/src/jvm/backtype/storm/generated/TopologyActionOptions.java
----------------------------------------------------------------------
diff --git a/storm-core/src/jvm/backtype/storm/generated/TopologyActionOptions.java b/storm-core/src/jvm/backtype/storm/generated/TopologyActionOptions.java
index a3c65cf..c6fea05 100644
--- a/storm-core/src/jvm/backtype/storm/generated/TopologyActionOptions.java
+++ b/storm-core/src/jvm/backtype/storm/generated/TopologyActionOptions.java
@@ -16,13 +16,24 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.7.0)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
  */
 package backtype.storm.generated;
 
-import org.apache.commons.lang.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;
@@ -35,9 +46,11 @@ import java.util.Collections;
 import java.util.BitSet;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
+import javax.annotation.Generated;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 public class TopologyActionOptions extends org.apache.thrift.TUnion<TopologyActionOptions, TopologyActionOptions._Fields> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TopologyActionOptions");
   private static final org.apache.thrift.protocol.TField KILL_OPTIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("kill_options", org.apache.thrift.protocol.TType.STRUCT, (short)1);
@@ -107,9 +120,9 @@ public class TopologyActionOptions extends org.apache.thrift.TUnion<TopologyActi
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.KILL_OPTIONS, new org.apache.thrift.meta_data.FieldMetaData("kill_options", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+    tmpMap.put(_Fields.KILL_OPTIONS, new org.apache.thrift.meta_data.FieldMetaData("kill_options", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, KillOptions.class)));
-    tmpMap.put(_Fields.REBALANCE_OPTIONS, new org.apache.thrift.meta_data.FieldMetaData("rebalance_options", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+    tmpMap.put(_Fields.REBALANCE_OPTIONS, new org.apache.thrift.meta_data.FieldMetaData("rebalance_options", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, RebalanceOptions.class)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TopologyActionOptions.class, metaDataMap);
@@ -162,7 +175,7 @@ public class TopologyActionOptions extends org.apache.thrift.TUnion<TopologyActi
   }
 
   @Override
-  protected Object readValue(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TField field) throws org.apache.thrift.TException {
+  protected Object standardSchemeReadValue(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TField field) throws org.apache.thrift.TException {
     _Fields setField = _Fields.findByThriftId(field.id);
     if (setField != null) {
       switch (setField) {
@@ -196,7 +209,46 @@ public class TopologyActionOptions extends org.apache.thrift.TUnion<TopologyActi
   }
 
   @Override
-  protected void writeValue(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+  protected void standardSchemeWriteValue(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+    switch (setField_) {
+      case KILL_OPTIONS:
+        KillOptions kill_options = (KillOptions)value_;
+        kill_options.write(oprot);
+        return;
+      case REBALANCE_OPTIONS:
+        RebalanceOptions rebalance_options = (RebalanceOptions)value_;
+        rebalance_options.write(oprot);
+        return;
+      default:
+        throw new IllegalStateException("Cannot write union with unknown field " + setField_);
+    }
+  }
+
+  @Override
+  protected Object tupleSchemeReadValue(org.apache.thrift.protocol.TProtocol iprot, short fieldID) throws org.apache.thrift.TException {
+    _Fields setField = _Fields.findByThriftId(fieldID);
+    if (setField != null) {
+      switch (setField) {
+        case KILL_OPTIONS:
+          KillOptions kill_options;
+          kill_options = new KillOptions();
+          kill_options.read(iprot);
+          return kill_options;
+        case REBALANCE_OPTIONS:
+          RebalanceOptions rebalance_options;
+          rebalance_options = new RebalanceOptions();
+          rebalance_options.read(iprot);
+          return rebalance_options;
+        default:
+          throw new IllegalStateException("setField wasn't null, but didn't match any of the case statements!");
+      }
+    } else {
+      throw new TProtocolException("Couldn't find a field with field id " + fieldID);
+    }
+  }
+
+  @Override
+  protected void tupleSchemeWriteValue(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     switch (setField_) {
       case KILL_OPTIONS:
         KillOptions kill_options = (KillOptions)value_;
@@ -300,19 +352,19 @@ public class TopologyActionOptions extends org.apache.thrift.TUnion<TopologyActi
 
   @Override
   public int hashCode() {
-    HashCodeBuilder hcb = new HashCodeBuilder();
-    hcb.append(this.getClass().getName());
+    List<Object> list = new ArrayList<Object>();
+    list.add(this.getClass().getName());
     org.apache.thrift.TFieldIdEnum setField = getSetField();
     if (setField != null) {
-      hcb.append(setField.getThriftFieldId());
+      list.add(setField.getThriftFieldId());
       Object value = getFieldValue();
       if (value instanceof org.apache.thrift.TEnum) {
-        hcb.append(((org.apache.thrift.TEnum)getFieldValue()).getValue());
+        list.add(((org.apache.thrift.TEnum)getFieldValue()).getValue());
       } else {
-        hcb.append(value);
+        list.add(value);
       }
     }
-    return hcb.toHashCode();
+    return list.hashCode();
   }
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
     try {

http://git-wip-us.apache.org/repos/asf/storm/blob/539a6a21/storm-core/src/jvm/backtype/storm/generated/TopologyStatus.java
----------------------------------------------------------------------
diff --git a/storm-core/src/jvm/backtype/storm/generated/TopologyStatus.java b/storm-core/src/jvm/backtype/storm/generated/TopologyStatus.java
index c6bdd36..8183ab2 100644
--- a/storm-core/src/jvm/backtype/storm/generated/TopologyStatus.java
+++ b/storm-core/src/jvm/backtype/storm/generated/TopologyStatus.java
@@ -16,9 +16,10 @@
  * limitations under the License.
  */
 /**
- * Autogenerated by Thrift Compiler (0.7.0)
+ * Autogenerated by Thrift Compiler (0.9.2)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
  */
 package backtype.storm.generated;