You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by sr...@apache.org on 2015/09/21 19:41:01 UTC

[16/24] storm git commit: merging from upstream

http://git-wip-us.apache.org/repos/asf/storm/blob/0151b441/storm-core/src/jvm/backtype/storm/generated/StormBase.java
----------------------------------------------------------------------
diff --cc storm-core/src/jvm/backtype/storm/generated/StormBase.java
index f3c1fb2,b00f072..250cc9c
--- a/storm-core/src/jvm/backtype/storm/generated/StormBase.java
+++ b/storm-core/src/jvm/backtype/storm/generated/StormBase.java
@@@ -51,7 -51,7 +51,7 @@@ import org.slf4j.Logger
  import org.slf4j.LoggerFactory;
  
  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
- @Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-8-24")
 -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-3-5")
++@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-9-3")
  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");
  
@@@ -1090,15 -984,15 +1090,15 @@@
            case 4: // COMPONENT_EXECUTORS
              if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                {
-                 org.apache.thrift.protocol.TMap _map426 = iprot.readMapBegin();
-                 struct.component_executors = new HashMap<String,Integer>(2*_map426.size);
-                 String _key427;
-                 int _val428;
-                 for (int _i429 = 0; _i429 < _map426.size; ++_i429)
 -                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)
++                org.apache.thrift.protocol.TMap _map434 = iprot.readMapBegin();
++                struct.component_executors = new HashMap<String,Integer>(2*_map434.size);
++                String _key435;
++                int _val436;
++                for (int _i437 = 0; _i437 < _map434.size; ++_i437)
                  {
-                   _key427 = iprot.readString();
-                   _val428 = iprot.readI32();
-                   struct.component_executors.put(_key427, _val428);
 -                  _key417 = iprot.readString();
 -                  _val418 = iprot.readI32();
 -                  struct.component_executors.put(_key417, _val418);
++                  _key435 = iprot.readString();
++                  _val436 = iprot.readI32();
++                  struct.component_executors.put(_key435, _val436);
                  }
                  iprot.readMapEnd();
                }
@@@ -1140,27 -1034,6 +1140,27 @@@
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
 +          case 9: // COMPONENT_DEBUG
 +            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
 +              {
-                 org.apache.thrift.protocol.TMap _map430 = iprot.readMapBegin();
-                 struct.component_debug = new HashMap<String,DebugOptions>(2*_map430.size);
-                 String _key431;
-                 DebugOptions _val432;
-                 for (int _i433 = 0; _i433 < _map430.size; ++_i433)
++                org.apache.thrift.protocol.TMap _map438 = iprot.readMapBegin();
++                struct.component_debug = new HashMap<String,DebugOptions>(2*_map438.size);
++                String _key439;
++                DebugOptions _val440;
++                for (int _i441 = 0; _i441 < _map438.size; ++_i441)
 +                {
-                   _key431 = iprot.readString();
-                   _val432 = new DebugOptions();
-                   _val432.read(iprot);
-                   struct.component_debug.put(_key431, _val432);
++                  _key439 = iprot.readString();
++                  _val440 = new DebugOptions();
++                  _val440.read(iprot);
++                  struct.component_debug.put(_key439, _val440);
 +                }
 +                iprot.readMapEnd();
 +              }
 +              struct.set_component_debug_isSet(true);
 +            } else { 
 +              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
 +            }
 +            break;
            default:
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
          }
@@@ -1192,10 -1065,10 +1192,10 @@@
            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> _iter434 : struct.component_executors.entrySet())
 -            for (Map.Entry<String, Integer> _iter420 : struct.component_executors.entrySet())
++            for (Map.Entry<String, Integer> _iter442 : struct.component_executors.entrySet())
              {
-               oprot.writeString(_iter434.getKey());
-               oprot.writeI32(_iter434.getValue());
 -              oprot.writeString(_iter420.getKey());
 -              oprot.writeI32(_iter420.getValue());
++              oprot.writeString(_iter442.getKey());
++              oprot.writeI32(_iter442.getValue());
              }
              oprot.writeMapEnd();
            }
@@@ -1228,21 -1101,6 +1228,21 @@@
            oprot.writeFieldEnd();
          }
        }
 +      if (struct.component_debug != null) {
 +        if (struct.is_set_component_debug()) {
 +          oprot.writeFieldBegin(COMPONENT_DEBUG_FIELD_DESC);
 +          {
 +            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, struct.component_debug.size()));
-             for (Map.Entry<String, DebugOptions> _iter435 : struct.component_debug.entrySet())
++            for (Map.Entry<String, DebugOptions> _iter443 : struct.component_debug.entrySet())
 +            {
-               oprot.writeString(_iter435.getKey());
-               _iter435.getValue().write(oprot);
++              oprot.writeString(_iter443.getKey());
++              _iter443.getValue().write(oprot);
 +            }
 +            oprot.writeMapEnd();
 +          }
 +          oprot.writeFieldEnd();
 +        }
 +      }
        oprot.writeFieldStop();
        oprot.writeStructEnd();
      }
@@@ -1286,10 -1141,10 +1286,10 @@@
        if (struct.is_set_component_executors()) {
          {
            oprot.writeI32(struct.component_executors.size());
-           for (Map.Entry<String, Integer> _iter436 : struct.component_executors.entrySet())
 -          for (Map.Entry<String, Integer> _iter421 : struct.component_executors.entrySet())
++          for (Map.Entry<String, Integer> _iter444 : struct.component_executors.entrySet())
            {
-             oprot.writeString(_iter436.getKey());
-             oprot.writeI32(_iter436.getValue());
 -            oprot.writeString(_iter421.getKey());
 -            oprot.writeI32(_iter421.getValue());
++            oprot.writeString(_iter444.getKey());
++            oprot.writeI32(_iter444.getValue());
            }
          }
        }
@@@ -1305,16 -1160,6 +1305,16 @@@
        if (struct.is_set_prev_status()) {
          oprot.writeI32(struct.prev_status.getValue());
        }
 +      if (struct.is_set_component_debug()) {
 +        {
 +          oprot.writeI32(struct.component_debug.size());
-           for (Map.Entry<String, DebugOptions> _iter437 : struct.component_debug.entrySet())
++          for (Map.Entry<String, DebugOptions> _iter445 : struct.component_debug.entrySet())
 +          {
-             oprot.writeString(_iter437.getKey());
-             _iter437.getValue().write(oprot);
++            oprot.writeString(_iter445.getKey());
++            _iter445.getValue().write(oprot);
 +          }
 +        }
 +      }
      }
  
      @Override
@@@ -1326,18 -1171,18 +1326,18 @@@
        struct.set_status_isSet(true);
        struct.num_workers = iprot.readI32();
        struct.set_num_workers_isSet(true);
 -      BitSet incoming = iprot.readBitSet(5);
 +      BitSet incoming = iprot.readBitSet(6);
        if (incoming.get(0)) {
          {
-           org.apache.thrift.protocol.TMap _map438 = 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*_map438.size);
-           String _key439;
-           int _val440;
-           for (int _i441 = 0; _i441 < _map438.size; ++_i441)
 -          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)
++          org.apache.thrift.protocol.TMap _map446 = 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*_map446.size);
++          String _key447;
++          int _val448;
++          for (int _i449 = 0; _i449 < _map446.size; ++_i449)
            {
-             _key439 = iprot.readString();
-             _val440 = iprot.readI32();
-             struct.component_executors.put(_key439, _val440);
 -            _key423 = iprot.readString();
 -            _val424 = iprot.readI32();
 -            struct.component_executors.put(_key423, _val424);
++            _key447 = iprot.readString();
++            _val448 = iprot.readI32();
++            struct.component_executors.put(_key447, _val448);
            }
          }
          struct.set_component_executors_isSet(true);
@@@ -1359,22 -1204,6 +1359,22 @@@
          struct.prev_status = backtype.storm.generated.TopologyStatus.findByValue(iprot.readI32());
          struct.set_prev_status_isSet(true);
        }
 +      if (incoming.get(5)) {
 +        {
-           org.apache.thrift.protocol.TMap _map442 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-           struct.component_debug = new HashMap<String,DebugOptions>(2*_map442.size);
-           String _key443;
-           DebugOptions _val444;
-           for (int _i445 = 0; _i445 < _map442.size; ++_i445)
++          org.apache.thrift.protocol.TMap _map450 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
++          struct.component_debug = new HashMap<String,DebugOptions>(2*_map450.size);
++          String _key451;
++          DebugOptions _val452;
++          for (int _i453 = 0; _i453 < _map450.size; ++_i453)
 +          {
-             _key443 = iprot.readString();
-             _val444 = new DebugOptions();
-             _val444.read(iprot);
-             struct.component_debug.put(_key443, _val444);
++            _key451 = iprot.readString();
++            _val452 = new DebugOptions();
++            _val452.read(iprot);
++            struct.component_debug.put(_key451, _val452);
 +          }
 +        }
 +        struct.set_component_debug_isSet(true);
 +      }
      }
    }
  

http://git-wip-us.apache.org/repos/asf/storm/blob/0151b441/storm-core/src/jvm/backtype/storm/generated/SupervisorInfo.java
----------------------------------------------------------------------
diff --cc storm-core/src/jvm/backtype/storm/generated/SupervisorInfo.java
index e2b5ad1,9083b0d..bb4698c
--- a/storm-core/src/jvm/backtype/storm/generated/SupervisorInfo.java
+++ b/storm-core/src/jvm/backtype/storm/generated/SupervisorInfo.java
@@@ -51,7 -51,7 +51,7 @@@ import org.slf4j.Logger
  import org.slf4j.LoggerFactory;
  
  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
- @Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-8-7")
 -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-4-20")
++@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-9-3")
  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");
  
@@@ -990,13 -990,13 +990,13 @@@
            case 4: // USED_PORTS
              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                {
-                 org.apache.thrift.protocol.TList _list346 = iprot.readListBegin();
-                 struct.used_ports = new ArrayList<Long>(_list346.size);
-                 long _elem347;
-                 for (int _i348 = 0; _i348 < _list346.size; ++_i348)
 -                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)
++                org.apache.thrift.protocol.TList _list354 = iprot.readListBegin();
++                struct.used_ports = new ArrayList<Long>(_list354.size);
++                long _elem355;
++                for (int _i356 = 0; _i356 < _list354.size; ++_i356)
                  {
-                   _elem347 = iprot.readI64();
-                   struct.used_ports.add(_elem347);
 -                  _elem337 = iprot.readI64();
 -                  struct.used_ports.add(_elem337);
++                  _elem355 = iprot.readI64();
++                  struct.used_ports.add(_elem355);
                  }
                  iprot.readListEnd();
                }
@@@ -1008,13 -1008,13 +1008,13 @@@
            case 5: // META
              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                {
-                 org.apache.thrift.protocol.TList _list349 = iprot.readListBegin();
-                 struct.meta = new ArrayList<Long>(_list349.size);
-                 long _elem350;
-                 for (int _i351 = 0; _i351 < _list349.size; ++_i351)
 -                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)
++                org.apache.thrift.protocol.TList _list357 = iprot.readListBegin();
++                struct.meta = new ArrayList<Long>(_list357.size);
++                long _elem358;
++                for (int _i359 = 0; _i359 < _list357.size; ++_i359)
                  {
-                   _elem350 = iprot.readI64();
-                   struct.meta.add(_elem350);
 -                  _elem340 = iprot.readI64();
 -                  struct.meta.add(_elem340);
++                  _elem358 = iprot.readI64();
++                  struct.meta.add(_elem358);
                  }
                  iprot.readListEnd();
                }
@@@ -1026,15 -1026,15 +1026,15 @@@
            case 6: // SCHEDULER_META
              if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                {
-                 org.apache.thrift.protocol.TMap _map352 = iprot.readMapBegin();
-                 struct.scheduler_meta = new HashMap<String,String>(2*_map352.size);
-                 String _key353;
-                 String _val354;
-                 for (int _i355 = 0; _i355 < _map352.size; ++_i355)
 -                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)
++                org.apache.thrift.protocol.TMap _map360 = iprot.readMapBegin();
++                struct.scheduler_meta = new HashMap<String,String>(2*_map360.size);
++                String _key361;
++                String _val362;
++                for (int _i363 = 0; _i363 < _map360.size; ++_i363)
                  {
-                   _key353 = iprot.readString();
-                   _val354 = iprot.readString();
-                   struct.scheduler_meta.put(_key353, _val354);
 -                  _key343 = iprot.readString();
 -                  _val344 = iprot.readString();
 -                  struct.scheduler_meta.put(_key343, _val344);
++                  _key361 = iprot.readString();
++                  _val362 = iprot.readString();
++                  struct.scheduler_meta.put(_key361, _val362);
                  }
                  iprot.readMapEnd();
                }
@@@ -1092,9 -1092,9 +1092,9 @@@
            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 _iter356 : struct.used_ports)
 -            for (long _iter346 : struct.used_ports)
++            for (long _iter364 : struct.used_ports)
              {
-               oprot.writeI64(_iter356);
 -              oprot.writeI64(_iter346);
++              oprot.writeI64(_iter364);
              }
              oprot.writeListEnd();
            }
@@@ -1106,9 -1106,9 +1106,9 @@@
            oprot.writeFieldBegin(META_FIELD_DESC);
            {
              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.meta.size()));
-             for (long _iter357 : struct.meta)
 -            for (long _iter347 : struct.meta)
++            for (long _iter365 : struct.meta)
              {
-               oprot.writeI64(_iter357);
 -              oprot.writeI64(_iter347);
++              oprot.writeI64(_iter365);
              }
              oprot.writeListEnd();
            }
@@@ -1120,10 -1120,10 +1120,10 @@@
            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> _iter358 : struct.scheduler_meta.entrySet())
 -            for (Map.Entry<String, String> _iter348 : struct.scheduler_meta.entrySet())
++            for (Map.Entry<String, String> _iter366 : struct.scheduler_meta.entrySet())
              {
-               oprot.writeString(_iter358.getKey());
-               oprot.writeString(_iter358.getValue());
 -              oprot.writeString(_iter348.getKey());
 -              oprot.writeString(_iter348.getValue());
++              oprot.writeString(_iter366.getKey());
++              oprot.writeString(_iter366.getValue());
              }
              oprot.writeMapEnd();
            }
@@@ -1187,28 -1187,28 +1187,28 @@@
        if (struct.is_set_used_ports()) {
          {
            oprot.writeI32(struct.used_ports.size());
-           for (long _iter359 : struct.used_ports)
 -          for (long _iter349 : struct.used_ports)
++          for (long _iter367 : struct.used_ports)
            {
-             oprot.writeI64(_iter359);
 -            oprot.writeI64(_iter349);
++            oprot.writeI64(_iter367);
            }
          }
        }
        if (struct.is_set_meta()) {
          {
            oprot.writeI32(struct.meta.size());
-           for (long _iter360 : struct.meta)
 -          for (long _iter350 : struct.meta)
++          for (long _iter368 : struct.meta)
            {
-             oprot.writeI64(_iter360);
 -            oprot.writeI64(_iter350);
++            oprot.writeI64(_iter368);
            }
          }
        }
        if (struct.is_set_scheduler_meta()) {
          {
            oprot.writeI32(struct.scheduler_meta.size());
-           for (Map.Entry<String, String> _iter361 : struct.scheduler_meta.entrySet())
 -          for (Map.Entry<String, String> _iter351 : struct.scheduler_meta.entrySet())
++          for (Map.Entry<String, String> _iter369 : struct.scheduler_meta.entrySet())
            {
-             oprot.writeString(_iter361.getKey());
-             oprot.writeString(_iter361.getValue());
 -            oprot.writeString(_iter351.getKey());
 -            oprot.writeString(_iter351.getValue());
++            oprot.writeString(_iter369.getKey());
++            oprot.writeString(_iter369.getValue());
            }
          }
        }
@@@ -1234,41 -1234,41 +1234,41 @@@
        }
        if (incoming.get(1)) {
          {
-           org.apache.thrift.protocol.TList _list362 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
-           struct.used_ports = new ArrayList<Long>(_list362.size);
-           long _elem363;
-           for (int _i364 = 0; _i364 < _list362.size; ++_i364)
 -          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)
++          org.apache.thrift.protocol.TList _list370 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
++          struct.used_ports = new ArrayList<Long>(_list370.size);
++          long _elem371;
++          for (int _i372 = 0; _i372 < _list370.size; ++_i372)
            {
-             _elem363 = iprot.readI64();
-             struct.used_ports.add(_elem363);
 -            _elem353 = iprot.readI64();
 -            struct.used_ports.add(_elem353);
++            _elem371 = iprot.readI64();
++            struct.used_ports.add(_elem371);
            }
          }
          struct.set_used_ports_isSet(true);
        }
        if (incoming.get(2)) {
          {
-           org.apache.thrift.protocol.TList _list365 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
-           struct.meta = new ArrayList<Long>(_list365.size);
-           long _elem366;
-           for (int _i367 = 0; _i367 < _list365.size; ++_i367)
 -          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)
++          org.apache.thrift.protocol.TList _list373 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, iprot.readI32());
++          struct.meta = new ArrayList<Long>(_list373.size);
++          long _elem374;
++          for (int _i375 = 0; _i375 < _list373.size; ++_i375)
            {
-             _elem366 = iprot.readI64();
-             struct.meta.add(_elem366);
 -            _elem356 = iprot.readI64();
 -            struct.meta.add(_elem356);
++            _elem374 = iprot.readI64();
++            struct.meta.add(_elem374);
            }
          }
          struct.set_meta_isSet(true);
        }
        if (incoming.get(3)) {
          {
-           org.apache.thrift.protocol.TMap _map368 = 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*_map368.size);
-           String _key369;
-           String _val370;
-           for (int _i371 = 0; _i371 < _map368.size; ++_i371)
 -          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)
++          org.apache.thrift.protocol.TMap _map376 = 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*_map376.size);
++          String _key377;
++          String _val378;
++          for (int _i379 = 0; _i379 < _map376.size; ++_i379)
            {
-             _key369 = iprot.readString();
-             _val370 = iprot.readString();
-             struct.scheduler_meta.put(_key369, _val370);
 -            _key359 = iprot.readString();
 -            _val360 = iprot.readString();
 -            struct.scheduler_meta.put(_key359, _val360);
++            _key377 = iprot.readString();
++            _val378 = iprot.readString();
++            struct.scheduler_meta.put(_key377, _val378);
            }
          }
          struct.set_scheduler_meta_isSet(true);

http://git-wip-us.apache.org/repos/asf/storm/blob/0151b441/storm-core/src/jvm/backtype/storm/generated/TopologyInfo.java
----------------------------------------------------------------------
diff --cc storm-core/src/jvm/backtype/storm/generated/TopologyInfo.java
index f0107af,37c5c63..6c2cc69
--- a/storm-core/src/jvm/backtype/storm/generated/TopologyInfo.java
+++ b/storm-core/src/jvm/backtype/storm/generated/TopologyInfo.java
@@@ -51,7 -51,7 +51,7 @@@ import org.slf4j.Logger
  import org.slf4j.LoggerFactory;
  
  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
- @Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-8-24")
 -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-3-2")
++@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-9-3")
  public class TopologyInfo implements org.apache.thrift.TBase<TopologyInfo, TopologyInfo._Fields>, java.io.Serializable, Cloneable, Comparable<TopologyInfo> {
    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TopologyInfo");
  
@@@ -61,9 -61,9 +61,10 @@@
    private static final org.apache.thrift.protocol.TField EXECUTORS_FIELD_DESC = new org.apache.thrift.protocol.TField("executors", org.apache.thrift.protocol.TType.LIST, (short)4);
    private static final org.apache.thrift.protocol.TField STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("status", org.apache.thrift.protocol.TType.STRING, (short)5);
    private static final org.apache.thrift.protocol.TField ERRORS_FIELD_DESC = new org.apache.thrift.protocol.TField("errors", org.apache.thrift.protocol.TType.MAP, (short)6);
 +  private static final org.apache.thrift.protocol.TField COMPONENT_DEBUG_FIELD_DESC = new org.apache.thrift.protocol.TField("component_debug", org.apache.thrift.protocol.TType.MAP, (short)7);
    private static final org.apache.thrift.protocol.TField SCHED_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("sched_status", org.apache.thrift.protocol.TType.STRING, (short)513);
    private static final org.apache.thrift.protocol.TField OWNER_FIELD_DESC = new org.apache.thrift.protocol.TField("owner", org.apache.thrift.protocol.TType.STRING, (short)514);
+   private static final org.apache.thrift.protocol.TField REPLICATION_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("replication_count", org.apache.thrift.protocol.TType.I32, (short)515);
  
    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
    static {
@@@ -77,9 -77,9 +78,10 @@@
    private List<ExecutorSummary> executors; // required
    private String status; // required
    private Map<String,List<ErrorInfo>> errors; // required
 +  private Map<String,DebugOptions> component_debug; // optional
    private String sched_status; // optional
    private String owner; // optional
+   private int replication_count; // 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 {
@@@ -89,9 -89,9 +91,10 @@@
      EXECUTORS((short)4, "executors"),
      STATUS((short)5, "status"),
      ERRORS((short)6, "errors"),
 +    COMPONENT_DEBUG((short)7, "component_debug"),
      SCHED_STATUS((short)513, "sched_status"),
-     OWNER((short)514, "owner");
+     OWNER((short)514, "owner"),
+     REPLICATION_COUNT((short)515, "replication_count");
  
      private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
  
@@@ -165,8 -165,9 +170,9 @@@
  
    // isset id assignments
    private static final int __UPTIME_SECS_ISSET_ID = 0;
+   private static final int __REPLICATION_COUNT_ISSET_ID = 1;
    private byte __isset_bitfield = 0;
-   private static final _Fields optionals[] = {_Fields.COMPONENT_DEBUG,_Fields.SCHED_STATUS,_Fields.OWNER};
 -  private static final _Fields optionals[] = {_Fields.SCHED_STATUS,_Fields.OWNER,_Fields.REPLICATION_COUNT};
++  private static final _Fields optionals[] = {_Fields.COMPONENT_DEBUG,_Fields.SCHED_STATUS,_Fields.OWNER,_Fields.REPLICATION_COUNT};
    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);
@@@ -295,9 -280,10 +304,11 @@@
      this.executors = null;
      this.status = null;
      this.errors = null;
 +    this.component_debug = null;
      this.sched_status = null;
      this.owner = null;
+     set_replication_count_isSet(false);
+     this.replication_count = 0;
    }
  
    public String get_id() {
@@@ -1173,27 -1143,6 +1249,27 @@@
                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
              }
              break;
 +          case 7: // COMPONENT_DEBUG
 +            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
 +              {
-                 org.apache.thrift.protocol.TMap _map300 = iprot.readMapBegin();
-                 struct.component_debug = new HashMap<String,DebugOptions>(2*_map300.size);
-                 String _key301;
-                 DebugOptions _val302;
-                 for (int _i303 = 0; _i303 < _map300.size; ++_i303)
++                org.apache.thrift.protocol.TMap _map308 = iprot.readMapBegin();
++                struct.component_debug = new HashMap<String,DebugOptions>(2*_map308.size);
++                String _key309;
++                DebugOptions _val310;
++                for (int _i311 = 0; _i311 < _map308.size; ++_i311)
 +                {
-                   _key301 = iprot.readString();
-                   _val302 = new DebugOptions();
-                   _val302.read(iprot);
-                   struct.component_debug.put(_key301, _val302);
++                  _key309 = iprot.readString();
++                  _val310 = new DebugOptions();
++                  _val310.read(iprot);
++                  struct.component_debug.put(_key309, _val310);
 +                }
 +                iprot.readMapEnd();
 +              }
 +              struct.set_component_debug_isSet(true);
 +            } else { 
 +              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
 +            }
 +            break;
            case 513: // SCHED_STATUS
              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
                struct.sched_status = iprot.readString();
@@@ -1240,9 -1197,9 +1324,9 @@@
          oprot.writeFieldBegin(EXECUTORS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.executors.size()));
-           for (ExecutorSummary _iter304 : struct.executors)
 -          for (ExecutorSummary _iter308 : struct.executors)
++          for (ExecutorSummary _iter312 : struct.executors)
            {
-             _iter304.write(oprot);
 -            _iter308.write(oprot);
++            _iter312.write(oprot);
            }
            oprot.writeListEnd();
          }
@@@ -1257,14 -1214,14 +1341,14 @@@
          oprot.writeFieldBegin(ERRORS_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, struct.errors.size()));
-           for (Map.Entry<String, List<ErrorInfo>> _iter305 : struct.errors.entrySet())
 -          for (Map.Entry<String, List<ErrorInfo>> _iter309 : struct.errors.entrySet())
++          for (Map.Entry<String, List<ErrorInfo>> _iter313 : struct.errors.entrySet())
            {
-             oprot.writeString(_iter305.getKey());
 -            oprot.writeString(_iter309.getKey());
++            oprot.writeString(_iter313.getKey());
              {
-               oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, _iter305.getValue().size()));
-               for (ErrorInfo _iter306 : _iter305.getValue())
 -              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, _iter309.getValue().size()));
 -              for (ErrorInfo _iter310 : _iter309.getValue())
++              oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, _iter313.getValue().size()));
++              for (ErrorInfo _iter314 : _iter313.getValue())
                {
-                 _iter306.write(oprot);
 -                _iter310.write(oprot);
++                _iter314.write(oprot);
                }
                oprot.writeListEnd();
              }
@@@ -1273,21 -1230,6 +1357,21 @@@
          }
          oprot.writeFieldEnd();
        }
 +      if (struct.component_debug != null) {
 +        if (struct.is_set_component_debug()) {
 +          oprot.writeFieldBegin(COMPONENT_DEBUG_FIELD_DESC);
 +          {
 +            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, struct.component_debug.size()));
-             for (Map.Entry<String, DebugOptions> _iter307 : struct.component_debug.entrySet())
++            for (Map.Entry<String, DebugOptions> _iter315 : struct.component_debug.entrySet())
 +            {
-               oprot.writeString(_iter307.getKey());
-               _iter307.getValue().write(oprot);
++              oprot.writeString(_iter315.getKey());
++              _iter315.getValue().write(oprot);
 +            }
 +            oprot.writeMapEnd();
 +          }
 +          oprot.writeFieldEnd();
 +        }
 +      }
        if (struct.sched_status != null) {
          if (struct.is_set_sched_status()) {
            oprot.writeFieldBegin(SCHED_STATUS_FIELD_DESC);
@@@ -1324,47 -1271,37 +1413,50 @@@
        oprot.writeI32(struct.uptime_secs);
        {
          oprot.writeI32(struct.executors.size());
-         for (ExecutorSummary _iter308 : struct.executors)
 -        for (ExecutorSummary _iter311 : struct.executors)
++        for (ExecutorSummary _iter316 : struct.executors)
          {
-           _iter308.write(oprot);
 -          _iter311.write(oprot);
++          _iter316.write(oprot);
          }
        }
        oprot.writeString(struct.status);
        {
          oprot.writeI32(struct.errors.size());
-         for (Map.Entry<String, List<ErrorInfo>> _iter309 : struct.errors.entrySet())
 -        for (Map.Entry<String, List<ErrorInfo>> _iter312 : struct.errors.entrySet())
++        for (Map.Entry<String, List<ErrorInfo>> _iter317 : struct.errors.entrySet())
          {
-           oprot.writeString(_iter309.getKey());
 -          oprot.writeString(_iter312.getKey());
++          oprot.writeString(_iter317.getKey());
            {
-             oprot.writeI32(_iter309.getValue().size());
-             for (ErrorInfo _iter310 : _iter309.getValue())
 -            oprot.writeI32(_iter312.getValue().size());
 -            for (ErrorInfo _iter313 : _iter312.getValue())
++            oprot.writeI32(_iter317.getValue().size());
++            for (ErrorInfo _iter318 : _iter317.getValue())
              {
-               _iter310.write(oprot);
 -              _iter313.write(oprot);
++              _iter318.write(oprot);
              }
            }
          }
        }
        BitSet optionals = new BitSet();
 -      if (struct.is_set_sched_status()) {
 +      if (struct.is_set_component_debug()) {
          optionals.set(0);
        }
 -      if (struct.is_set_owner()) {
 +      if (struct.is_set_sched_status()) {
          optionals.set(1);
        }
 -      if (struct.is_set_replication_count()) {
 +      if (struct.is_set_owner()) {
          optionals.set(2);
        }
--      oprot.writeBitSet(optionals, 3);
++      if (struct.is_set_replication_count()) {
++        optionals.set(3);
++      }
++      oprot.writeBitSet(optionals, 4);
 +      if (struct.is_set_component_debug()) {
 +        {
 +          oprot.writeI32(struct.component_debug.size());
-           for (Map.Entry<String, DebugOptions> _iter311 : struct.component_debug.entrySet())
++          for (Map.Entry<String, DebugOptions> _iter319 : struct.component_debug.entrySet())
 +          {
-             oprot.writeString(_iter311.getKey());
-             _iter311.getValue().write(oprot);
++            oprot.writeString(_iter319.getKey());
++            _iter319.getValue().write(oprot);
 +          }
 +        }
 +      }
        if (struct.is_set_sched_status()) {
          oprot.writeString(struct.sched_status);
        }
@@@ -1383,60 -1323,44 +1478,60 @@@
        struct.uptime_secs = iprot.readI32();
        struct.set_uptime_secs_isSet(true);
        {
-         org.apache.thrift.protocol.TList _list312 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-         struct.executors = new ArrayList<ExecutorSummary>(_list312.size);
-         ExecutorSummary _elem313;
-         for (int _i314 = 0; _i314 < _list312.size; ++_i314)
 -        org.apache.thrift.protocol.TList _list314 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
 -        struct.executors = new ArrayList<ExecutorSummary>(_list314.size);
 -        ExecutorSummary _elem315;
 -        for (int _i316 = 0; _i316 < _list314.size; ++_i316)
++        org.apache.thrift.protocol.TList _list320 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
++        struct.executors = new ArrayList<ExecutorSummary>(_list320.size);
++        ExecutorSummary _elem321;
++        for (int _i322 = 0; _i322 < _list320.size; ++_i322)
          {
-           _elem313 = new ExecutorSummary();
-           _elem313.read(iprot);
-           struct.executors.add(_elem313);
 -          _elem315 = new ExecutorSummary();
 -          _elem315.read(iprot);
 -          struct.executors.add(_elem315);
++          _elem321 = new ExecutorSummary();
++          _elem321.read(iprot);
++          struct.executors.add(_elem321);
          }
        }
        struct.set_executors_isSet(true);
        struct.status = iprot.readString();
        struct.set_status_isSet(true);
        {
-         org.apache.thrift.protocol.TMap _map315 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, iprot.readI32());
-         struct.errors = new HashMap<String,List<ErrorInfo>>(2*_map315.size);
-         String _key316;
-         List<ErrorInfo> _val317;
-         for (int _i318 = 0; _i318 < _map315.size; ++_i318)
 -        org.apache.thrift.protocol.TMap _map317 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, iprot.readI32());
 -        struct.errors = new HashMap<String,List<ErrorInfo>>(2*_map317.size);
 -        String _key318;
 -        List<ErrorInfo> _val319;
 -        for (int _i320 = 0; _i320 < _map317.size; ++_i320)
++        org.apache.thrift.protocol.TMap _map323 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.LIST, iprot.readI32());
++        struct.errors = new HashMap<String,List<ErrorInfo>>(2*_map323.size);
++        String _key324;
++        List<ErrorInfo> _val325;
++        for (int _i326 = 0; _i326 < _map323.size; ++_i326)
          {
-           _key316 = iprot.readString();
 -          _key318 = iprot.readString();
++          _key324 = iprot.readString();
            {
-             org.apache.thrift.protocol.TList _list319 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-             _val317 = new ArrayList<ErrorInfo>(_list319.size);
-             ErrorInfo _elem320;
-             for (int _i321 = 0; _i321 < _list319.size; ++_i321)
 -            org.apache.thrift.protocol.TList _list321 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
 -            _val319 = new ArrayList<ErrorInfo>(_list321.size);
 -            ErrorInfo _elem322;
 -            for (int _i323 = 0; _i323 < _list321.size; ++_i323)
++            org.apache.thrift.protocol.TList _list327 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
++            _val325 = new ArrayList<ErrorInfo>(_list327.size);
++            ErrorInfo _elem328;
++            for (int _i329 = 0; _i329 < _list327.size; ++_i329)
              {
-               _elem320 = new ErrorInfo();
-               _elem320.read(iprot);
-               _val317.add(_elem320);
 -              _elem322 = new ErrorInfo();
 -              _elem322.read(iprot);
 -              _val319.add(_elem322);
++              _elem328 = new ErrorInfo();
++              _elem328.read(iprot);
++              _val325.add(_elem328);
              }
            }
-           struct.errors.put(_key316, _val317);
 -          struct.errors.put(_key318, _val319);
++          struct.errors.put(_key324, _val325);
          }
        }
        struct.set_errors_isSet(true);
--      BitSet incoming = iprot.readBitSet(3);
++      BitSet incoming = iprot.readBitSet(4);
        if (incoming.get(0)) {
 +        {
-           org.apache.thrift.protocol.TMap _map322 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-           struct.component_debug = new HashMap<String,DebugOptions>(2*_map322.size);
-           String _key323;
-           DebugOptions _val324;
-           for (int _i325 = 0; _i325 < _map322.size; ++_i325)
++          org.apache.thrift.protocol.TMap _map330 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
++          struct.component_debug = new HashMap<String,DebugOptions>(2*_map330.size);
++          String _key331;
++          DebugOptions _val332;
++          for (int _i333 = 0; _i333 < _map330.size; ++_i333)
 +          {
-             _key323 = iprot.readString();
-             _val324 = new DebugOptions();
-             _val324.read(iprot);
-             struct.component_debug.put(_key323, _val324);
++            _key331 = iprot.readString();
++            _val332 = new DebugOptions();
++            _val332.read(iprot);
++            struct.component_debug.put(_key331, _val332);
 +          }
 +        }
 +        struct.set_component_debug_isSet(true);
 +      }
 +      if (incoming.get(1)) {
          struct.sched_status = iprot.readString();
          struct.set_sched_status_isSet(true);
        }
@@@ -1444,6 -1368,10 +1539,10 @@@
          struct.owner = iprot.readString();
          struct.set_owner_isSet(true);
        }
 -      if (incoming.get(2)) {
++      if (incoming.get(3)) {
+         struct.replication_count = iprot.readI32();
+         struct.set_replication_count_isSet(true);
+       }
      }
    }
  

http://git-wip-us.apache.org/repos/asf/storm/blob/0151b441/storm-core/src/py/storm/ttypes.py
----------------------------------------------------------------------
diff --cc storm-core/src/py/storm/ttypes.py
index 9b77461,85dd2c7..4f48449
--- a/storm-core/src/py/storm/ttypes.py
+++ b/storm-core/src/py/storm/ttypes.py
@@@ -3566,9 -3718,9 +3716,10 @@@ class TopologyInfo
     - executors
     - status
     - errors
 +   - component_debug
     - sched_status
     - owner
+    - replication_count
    """
  
    thrift_spec = (
@@@ -4087,18 -4239,19 +4238,20 @@@
      None, # 512
      (513, TType.STRING, 'sched_status', None, None, ), # 513
      (514, TType.STRING, 'owner', None, None, ), # 514
+     (515, TType.I32, 'replication_count', None, None, ), # 515
    )
  
-   def __init__(self, id=None, name=None, uptime_secs=None, executors=None, status=None, errors=None, component_debug=None, sched_status=None, owner=None,):
 -  def __init__(self, id=None, name=None, uptime_secs=None, executors=None, status=None, errors=None, sched_status=None, owner=None, replication_count=None,):
++  def __init__(self, id=None, name=None, uptime_secs=None, executors=None, status=None, errors=None, component_debug=None, sched_status=None, owner=None, replication_count=None,):
      self.id = id
      self.name = name
      self.uptime_secs = uptime_secs
      self.executors = executors
      self.status = status
      self.errors = errors
 +    self.component_debug = component_debug
      self.sched_status = sched_status
      self.owner = owner
+     self.replication_count = replication_count
  
    def read(self, iprot):
      if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@@ -4157,18 -4310,6 +4310,18 @@@
            iprot.readMapEnd()
          else:
            iprot.skip(ftype)
 +      elif fid == 7:
 +        if ftype == TType.MAP:
 +          self.component_debug = {}
-           (_ktype280, _vtype281, _size279 ) = iprot.readMapBegin()
-           for _i283 in xrange(_size279):
-             _key284 = iprot.readString().decode('utf-8')
-             _val285 = DebugOptions()
-             _val285.read(iprot)
-             self.component_debug[_key284] = _val285
++          (_ktype287, _vtype288, _size286 ) = iprot.readMapBegin()
++          for _i290 in xrange(_size286):
++            _key291 = iprot.readString().decode('utf-8')
++            _val292 = DebugOptions()
++            _val292.read(iprot)
++            self.component_debug[_key291] = _val292
 +          iprot.readMapEnd()
 +        else:
 +          iprot.skip(ftype)
        elif fid == 513:
          if ftype == TType.STRING:
            self.sched_status = iprot.readString().decode('utf-8')
@@@ -4204,8 -4350,8 +4362,8 @@@
      if self.executors is not None:
        oprot.writeFieldBegin('executors', TType.LIST, 4)
        oprot.writeListBegin(TType.STRUCT, len(self.executors))
--      for iter286 in self.executors:
--        iter286.write(oprot)
++      for iter293 in self.executors:
++        iter293.write(oprot)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.status is not None:
@@@ -4215,22 -4361,14 +4373,22 @@@
      if self.errors is not None:
        oprot.writeFieldBegin('errors', TType.MAP, 6)
        oprot.writeMapBegin(TType.STRING, TType.LIST, len(self.errors))
--      for kiter287,viter288 in self.errors.items():
--        oprot.writeString(kiter287.encode('utf-8'))
--        oprot.writeListBegin(TType.STRUCT, len(viter288))
--        for iter289 in viter288:
--          iter289.write(oprot)
++      for kiter294,viter295 in self.errors.items():
++        oprot.writeString(kiter294.encode('utf-8'))
++        oprot.writeListBegin(TType.STRUCT, len(viter295))
++        for iter296 in viter295:
++          iter296.write(oprot)
          oprot.writeListEnd()
        oprot.writeMapEnd()
        oprot.writeFieldEnd()
 +    if self.component_debug is not None:
 +      oprot.writeFieldBegin('component_debug', TType.MAP, 7)
 +      oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.component_debug))
-       for kiter290,viter291 in self.component_debug.items():
-         oprot.writeString(kiter290.encode('utf-8'))
-         viter291.write(oprot)
++      for kiter297,viter298 in self.component_debug.items():
++        oprot.writeString(kiter297.encode('utf-8'))
++        viter298.write(oprot)
 +      oprot.writeMapEnd()
 +      oprot.writeFieldEnd()
      if self.sched_status is not None:
        oprot.writeFieldBegin('sched_status', TType.STRING, 513)
        oprot.writeString(self.sched_status.encode('utf-8'))
@@@ -4266,9 -4408,9 +4428,10 @@@
      value = (value * 31) ^ hash(self.executors)
      value = (value * 31) ^ hash(self.status)
      value = (value * 31) ^ hash(self.errors)
 +    value = (value * 31) ^ hash(self.component_debug)
      value = (value * 31) ^ hash(self.sched_status)
      value = (value * 31) ^ hash(self.owner)
+     value = (value * 31) ^ hash(self.replication_count)
      return value
  
    def __repr__(self):
@@@ -4467,11 -4531,11 +4630,11 @@@ class RebalanceOptions
        elif fid == 3:
          if ftype == TType.MAP:
            self.num_executors = {}
-           (_ktype293, _vtype294, _size292 ) = iprot.readMapBegin()
-           for _i296 in xrange(_size292):
-             _key297 = iprot.readString().decode('utf-8')
-             _val298 = iprot.readI32();
-             self.num_executors[_key297] = _val298
 -          (_ktype291, _vtype292, _size290 ) = iprot.readMapBegin()
 -          for _i294 in xrange(_size290):
 -            _key295 = iprot.readString().decode('utf-8')
 -            _val296 = iprot.readI32();
 -            self.num_executors[_key295] = _val296
++          (_ktype300, _vtype301, _size299 ) = iprot.readMapBegin()
++          for _i303 in xrange(_size299):
++            _key304 = iprot.readString().decode('utf-8')
++            _val305 = iprot.readI32();
++            self.num_executors[_key304] = _val305
            iprot.readMapEnd()
          else:
            iprot.skip(ftype)
@@@ -4496,9 -4560,9 +4659,9 @@@
      if self.num_executors is not None:
        oprot.writeFieldBegin('num_executors', TType.MAP, 3)
        oprot.writeMapBegin(TType.STRING, TType.I32, len(self.num_executors))
-       for kiter299,viter300 in self.num_executors.items():
-         oprot.writeString(kiter299.encode('utf-8'))
-         oprot.writeI32(viter300)
 -      for kiter297,viter298 in self.num_executors.items():
 -        oprot.writeString(kiter297.encode('utf-8'))
 -        oprot.writeI32(viter298)
++      for kiter306,viter307 in self.num_executors.items():
++        oprot.writeString(kiter306.encode('utf-8'))
++        oprot.writeI32(viter307)
        oprot.writeMapEnd()
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
@@@ -4552,11 -4616,11 +4715,11 @@@ class Credentials
        if fid == 1:
          if ftype == TType.MAP:
            self.creds = {}
-           (_ktype302, _vtype303, _size301 ) = iprot.readMapBegin()
-           for _i305 in xrange(_size301):
-             _key306 = iprot.readString().decode('utf-8')
-             _val307 = iprot.readString().decode('utf-8')
-             self.creds[_key306] = _val307
 -          (_ktype300, _vtype301, _size299 ) = iprot.readMapBegin()
 -          for _i303 in xrange(_size299):
 -            _key304 = iprot.readString().decode('utf-8')
 -            _val305 = iprot.readString().decode('utf-8')
 -            self.creds[_key304] = _val305
++          (_ktype309, _vtype310, _size308 ) = iprot.readMapBegin()
++          for _i312 in xrange(_size308):
++            _key313 = iprot.readString().decode('utf-8')
++            _val314 = iprot.readString().decode('utf-8')
++            self.creds[_key313] = _val314
            iprot.readMapEnd()
          else:
            iprot.skip(ftype)
@@@ -4573,9 -4637,9 +4736,9 @@@
      if self.creds is not None:
        oprot.writeFieldBegin('creds', TType.MAP, 1)
        oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.creds))
-       for kiter308,viter309 in self.creds.items():
-         oprot.writeString(kiter308.encode('utf-8'))
-         oprot.writeString(viter309.encode('utf-8'))
 -      for kiter306,viter307 in self.creds.items():
 -        oprot.writeString(kiter306.encode('utf-8'))
 -        oprot.writeString(viter307.encode('utf-8'))
++      for kiter315,viter316 in self.creds.items():
++        oprot.writeString(kiter315.encode('utf-8'))
++        oprot.writeString(viter316.encode('utf-8'))
        oprot.writeMapEnd()
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
@@@ -4746,31 -4810,31 +4909,31 @@@ class SupervisorInfo
        elif fid == 4:
          if ftype == TType.LIST:
            self.used_ports = []
-           (_etype313, _size310) = iprot.readListBegin()
-           for _i314 in xrange(_size310):
-             _elem315 = iprot.readI64();
-             self.used_ports.append(_elem315)
 -          (_etype304, _size301) = iprot.readListBegin()
 -          for _i305 in xrange(_size301):
 -            _elem306 = iprot.readI64();
 -            self.used_ports.append(_elem306)
++          (_etype320, _size317) = iprot.readListBegin()
++          for _i321 in xrange(_size317):
++            _elem322 = iprot.readI64();
++            self.used_ports.append(_elem322)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
        elif fid == 5:
          if ftype == TType.LIST:
            self.meta = []
-           (_etype319, _size316) = iprot.readListBegin()
-           for _i320 in xrange(_size316):
-             _elem321 = iprot.readI64();
-             self.meta.append(_elem321)
 -          (_etype310, _size307) = iprot.readListBegin()
 -          for _i311 in xrange(_size307):
 -            _elem312 = iprot.readI64();
 -            self.meta.append(_elem312)
++          (_etype326, _size323) = iprot.readListBegin()
++          for _i327 in xrange(_size323):
++            _elem328 = iprot.readI64();
++            self.meta.append(_elem328)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
        elif fid == 6:
          if ftype == TType.MAP:
            self.scheduler_meta = {}
-           (_ktype323, _vtype324, _size322 ) = iprot.readMapBegin()
-           for _i326 in xrange(_size322):
-             _key327 = iprot.readString().decode('utf-8')
-             _val328 = iprot.readString().decode('utf-8')
-             self.scheduler_meta[_key327] = _val328
 -          (_ktype314, _vtype315, _size313 ) = iprot.readMapBegin()
 -          for _i317 in xrange(_size313):
 -            _key318 = iprot.readString().decode('utf-8')
 -            _val319 = iprot.readString().decode('utf-8')
 -            self.scheduler_meta[_key318] = _val319
++          (_ktype330, _vtype331, _size329 ) = iprot.readMapBegin()
++          for _i333 in xrange(_size329):
++            _key334 = iprot.readString().decode('utf-8')
++            _val335 = iprot.readString().decode('utf-8')
++            self.scheduler_meta[_key334] = _val335
            iprot.readMapEnd()
          else:
            iprot.skip(ftype)
@@@ -4809,23 -4873,23 +4972,23 @@@
      if self.used_ports is not None:
        oprot.writeFieldBegin('used_ports', TType.LIST, 4)
        oprot.writeListBegin(TType.I64, len(self.used_ports))
-       for iter329 in self.used_ports:
-         oprot.writeI64(iter329)
 -      for iter320 in self.used_ports:
 -        oprot.writeI64(iter320)
++      for iter336 in self.used_ports:
++        oprot.writeI64(iter336)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.meta is not None:
        oprot.writeFieldBegin('meta', TType.LIST, 5)
        oprot.writeListBegin(TType.I64, len(self.meta))
-       for iter330 in self.meta:
-         oprot.writeI64(iter330)
 -      for iter321 in self.meta:
 -        oprot.writeI64(iter321)
++      for iter337 in self.meta:
++        oprot.writeI64(iter337)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.scheduler_meta is not None:
        oprot.writeFieldBegin('scheduler_meta', TType.MAP, 6)
        oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.scheduler_meta))
-       for kiter331,viter332 in self.scheduler_meta.items():
-         oprot.writeString(kiter331.encode('utf-8'))
-         oprot.writeString(viter332.encode('utf-8'))
 -      for kiter322,viter323 in self.scheduler_meta.items():
 -        oprot.writeString(kiter322.encode('utf-8'))
 -        oprot.writeString(viter323.encode('utf-8'))
++      for kiter338,viter339 in self.scheduler_meta.items():
++        oprot.writeString(kiter338.encode('utf-8'))
++        oprot.writeString(viter339.encode('utf-8'))
        oprot.writeMapEnd()
        oprot.writeFieldEnd()
      if self.uptime_secs is not None:
@@@ -4904,10 -4968,10 +5067,10 @@@ class NodeInfo
        elif fid == 2:
          if ftype == TType.SET:
            self.port = set()
-           (_etype336, _size333) = iprot.readSetBegin()
-           for _i337 in xrange(_size333):
-             _elem338 = iprot.readI64();
-             self.port.add(_elem338)
 -          (_etype327, _size324) = iprot.readSetBegin()
 -          for _i328 in xrange(_size324):
 -            _elem329 = iprot.readI64();
 -            self.port.add(_elem329)
++          (_etype343, _size340) = iprot.readSetBegin()
++          for _i344 in xrange(_size340):
++            _elem345 = iprot.readI64();
++            self.port.add(_elem345)
            iprot.readSetEnd()
          else:
            iprot.skip(ftype)
@@@ -4928,8 -4992,8 +5091,8 @@@
      if self.port is not None:
        oprot.writeFieldBegin('port', TType.SET, 2)
        oprot.writeSetBegin(TType.I64, len(self.port))
-       for iter339 in self.port:
-         oprot.writeI64(iter339)
 -      for iter330 in self.port:
 -        oprot.writeI64(iter330)
++      for iter346 in self.port:
++        oprot.writeI64(iter346)
        oprot.writeSetEnd()
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
@@@ -5012,44 -5076,44 +5175,44 @@@ class Assignment
        elif fid == 2:
          if ftype == TType.MAP:
            self.node_host = {}
-           (_ktype341, _vtype342, _size340 ) = iprot.readMapBegin()
-           for _i344 in xrange(_size340):
-             _key345 = iprot.readString().decode('utf-8')
-             _val346 = iprot.readString().decode('utf-8')
-             self.node_host[_key345] = _val346
 -          (_ktype332, _vtype333, _size331 ) = iprot.readMapBegin()
 -          for _i335 in xrange(_size331):
 -            _key336 = iprot.readString().decode('utf-8')
 -            _val337 = iprot.readString().decode('utf-8')
 -            self.node_host[_key336] = _val337
++          (_ktype348, _vtype349, _size347 ) = iprot.readMapBegin()
++          for _i351 in xrange(_size347):
++            _key352 = iprot.readString().decode('utf-8')
++            _val353 = iprot.readString().decode('utf-8')
++            self.node_host[_key352] = _val353
            iprot.readMapEnd()
          else:
            iprot.skip(ftype)
        elif fid == 3:
          if ftype == TType.MAP:
            self.executor_node_port = {}
-           (_ktype348, _vtype349, _size347 ) = iprot.readMapBegin()
-           for _i351 in xrange(_size347):
-             _key352 = []
-             (_etype357, _size354) = iprot.readListBegin()
-             for _i358 in xrange(_size354):
-               _elem359 = iprot.readI64();
-               _key352.append(_elem359)
 -          (_ktype339, _vtype340, _size338 ) = iprot.readMapBegin()
 -          for _i342 in xrange(_size338):
 -            _key343 = []
 -            (_etype348, _size345) = iprot.readListBegin()
 -            for _i349 in xrange(_size345):
 -              _elem350 = iprot.readI64();
 -              _key343.append(_elem350)
++          (_ktype355, _vtype356, _size354 ) = iprot.readMapBegin()
++          for _i358 in xrange(_size354):
++            _key359 = []
++            (_etype364, _size361) = iprot.readListBegin()
++            for _i365 in xrange(_size361):
++              _elem366 = iprot.readI64();
++              _key359.append(_elem366)
              iprot.readListEnd()
-             _val353 = NodeInfo()
-             _val353.read(iprot)
-             self.executor_node_port[_key352] = _val353
 -            _val344 = NodeInfo()
 -            _val344.read(iprot)
 -            self.executor_node_port[_key343] = _val344
++            _val360 = NodeInfo()
++            _val360.read(iprot)
++            self.executor_node_port[_key359] = _val360
            iprot.readMapEnd()
          else:
            iprot.skip(ftype)
        elif fid == 4:
          if ftype == TType.MAP:
            self.executor_start_time_secs = {}
-           (_ktype361, _vtype362, _size360 ) = iprot.readMapBegin()
-           for _i364 in xrange(_size360):
-             _key365 = []
-             (_etype370, _size367) = iprot.readListBegin()
-             for _i371 in xrange(_size367):
-               _elem372 = iprot.readI64();
-               _key365.append(_elem372)
 -          (_ktype352, _vtype353, _size351 ) = iprot.readMapBegin()
 -          for _i355 in xrange(_size351):
 -            _key356 = []
 -            (_etype361, _size358) = iprot.readListBegin()
 -            for _i362 in xrange(_size358):
 -              _elem363 = iprot.readI64();
 -              _key356.append(_elem363)
++          (_ktype368, _vtype369, _size367 ) = iprot.readMapBegin()
++          for _i371 in xrange(_size367):
++            _key372 = []
++            (_etype377, _size374) = iprot.readListBegin()
++            for _i378 in xrange(_size374):
++              _elem379 = iprot.readI64();
++              _key372.append(_elem379)
              iprot.readListEnd()
-             _val366 = iprot.readI64();
-             self.executor_start_time_secs[_key365] = _val366
 -            _val357 = iprot.readI64();
 -            self.executor_start_time_secs[_key356] = _val357
++            _val373 = iprot.readI64();
++            self.executor_start_time_secs[_key372] = _val373
            iprot.readMapEnd()
          else:
            iprot.skip(ftype)
@@@ -5070,31 -5134,31 +5233,31 @@@
      if self.node_host is not None:
        oprot.writeFieldBegin('node_host', TType.MAP, 2)
        oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.node_host))
-       for kiter373,viter374 in self.node_host.items():
-         oprot.writeString(kiter373.encode('utf-8'))
-         oprot.writeString(viter374.encode('utf-8'))
 -      for kiter364,viter365 in self.node_host.items():
 -        oprot.writeString(kiter364.encode('utf-8'))
 -        oprot.writeString(viter365.encode('utf-8'))
++      for kiter380,viter381 in self.node_host.items():
++        oprot.writeString(kiter380.encode('utf-8'))
++        oprot.writeString(viter381.encode('utf-8'))
        oprot.writeMapEnd()
        oprot.writeFieldEnd()
      if self.executor_node_port is not None:
        oprot.writeFieldBegin('executor_node_port', TType.MAP, 3)
        oprot.writeMapBegin(TType.LIST, TType.STRUCT, len(self.executor_node_port))
-       for kiter375,viter376 in self.executor_node_port.items():
-         oprot.writeListBegin(TType.I64, len(kiter375))
-         for iter377 in kiter375:
-           oprot.writeI64(iter377)
 -      for kiter366,viter367 in self.executor_node_port.items():
 -        oprot.writeListBegin(TType.I64, len(kiter366))
 -        for iter368 in kiter366:
 -          oprot.writeI64(iter368)
++      for kiter382,viter383 in self.executor_node_port.items():
++        oprot.writeListBegin(TType.I64, len(kiter382))
++        for iter384 in kiter382:
++          oprot.writeI64(iter384)
          oprot.writeListEnd()
-         viter376.write(oprot)
 -        viter367.write(oprot)
++        viter383.write(oprot)
        oprot.writeMapEnd()
        oprot.writeFieldEnd()
      if self.executor_start_time_secs is not None:
        oprot.writeFieldBegin('executor_start_time_secs', TType.MAP, 4)
        oprot.writeMapBegin(TType.LIST, TType.I64, len(self.executor_start_time_secs))
-       for kiter378,viter379 in self.executor_start_time_secs.items():
-         oprot.writeListBegin(TType.I64, len(kiter378))
-         for iter380 in kiter378:
-           oprot.writeI64(iter380)
 -      for kiter369,viter370 in self.executor_start_time_secs.items():
 -        oprot.writeListBegin(TType.I64, len(kiter369))
 -        for iter371 in kiter369:
 -          oprot.writeI64(iter371)
++      for kiter385,viter386 in self.executor_start_time_secs.items():
++        oprot.writeListBegin(TType.I64, len(kiter385))
++        for iter387 in kiter385:
++          oprot.writeI64(iter387)
          oprot.writeListEnd()
-         oprot.writeI64(viter379)
 -        oprot.writeI64(viter370)
++        oprot.writeI64(viter386)
        oprot.writeMapEnd()
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
@@@ -5270,11 -5331,11 +5433,11 @@@ class StormBase
        elif fid == 4:
          if ftype == TType.MAP:
            self.component_executors = {}
-           (_ktype382, _vtype383, _size381 ) = iprot.readMapBegin()
-           for _i385 in xrange(_size381):
-             _key386 = iprot.readString().decode('utf-8')
-             _val387 = iprot.readI32();
-             self.component_executors[_key386] = _val387
 -          (_ktype373, _vtype374, _size372 ) = iprot.readMapBegin()
 -          for _i376 in xrange(_size372):
 -            _key377 = iprot.readString().decode('utf-8')
 -            _val378 = iprot.readI32();
 -            self.component_executors[_key377] = _val378
++          (_ktype389, _vtype390, _size388 ) = iprot.readMapBegin()
++          for _i392 in xrange(_size388):
++            _key393 = iprot.readString().decode('utf-8')
++            _val394 = iprot.readI32();
++            self.component_executors[_key393] = _val394
            iprot.readMapEnd()
          else:
            iprot.skip(ftype)
@@@ -5299,18 -5360,6 +5462,18 @@@
            self.prev_status = iprot.readI32();
          else:
            iprot.skip(ftype)
 +      elif fid == 9:
 +        if ftype == TType.MAP:
 +          self.component_debug = {}
-           (_ktype389, _vtype390, _size388 ) = iprot.readMapBegin()
-           for _i392 in xrange(_size388):
-             _key393 = iprot.readString().decode('utf-8')
-             _val394 = DebugOptions()
-             _val394.read(iprot)
-             self.component_debug[_key393] = _val394
++          (_ktype396, _vtype397, _size395 ) = iprot.readMapBegin()
++          for _i399 in xrange(_size395):
++            _key400 = iprot.readString().decode('utf-8')
++            _val401 = DebugOptions()
++            _val401.read(iprot)
++            self.component_debug[_key400] = _val401
 +          iprot.readMapEnd()
 +        else:
 +          iprot.skip(ftype)
        else:
          iprot.skip(ftype)
        iprot.readFieldEnd()
@@@ -5336,9 -5385,9 +5499,9 @@@
      if self.component_executors is not None:
        oprot.writeFieldBegin('component_executors', TType.MAP, 4)
        oprot.writeMapBegin(TType.STRING, TType.I32, len(self.component_executors))
-       for kiter395,viter396 in self.component_executors.items():
-         oprot.writeString(kiter395.encode('utf-8'))
-         oprot.writeI32(viter396)
 -      for kiter379,viter380 in self.component_executors.items():
 -        oprot.writeString(kiter379.encode('utf-8'))
 -        oprot.writeI32(viter380)
++      for kiter402,viter403 in self.component_executors.items():
++        oprot.writeString(kiter402.encode('utf-8'))
++        oprot.writeI32(viter403)
        oprot.writeMapEnd()
        oprot.writeFieldEnd()
      if self.launch_time_secs is not None:
@@@ -5357,14 -5406,6 +5520,14 @@@
        oprot.writeFieldBegin('prev_status', TType.I32, 8)
        oprot.writeI32(self.prev_status)
        oprot.writeFieldEnd()
 +    if self.component_debug is not None:
 +      oprot.writeFieldBegin('component_debug', TType.MAP, 9)
 +      oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.component_debug))
-       for kiter397,viter398 in self.component_debug.items():
-         oprot.writeString(kiter397.encode('utf-8'))
-         viter398.write(oprot)
++      for kiter404,viter405 in self.component_debug.items():
++        oprot.writeString(kiter404.encode('utf-8'))
++        viter405.write(oprot)
 +      oprot.writeMapEnd()
 +      oprot.writeFieldEnd()
      oprot.writeFieldStop()
      oprot.writeStructEnd()
  
@@@ -5442,13 -5482,13 +5605,13 @@@ class ClusterWorkerHeartbeat
        elif fid == 2:
          if ftype == TType.MAP:
            self.executor_stats = {}
-           (_ktype400, _vtype401, _size399 ) = iprot.readMapBegin()
-           for _i403 in xrange(_size399):
-             _key404 = ExecutorInfo()
-             _key404.read(iprot)
-             _val405 = ExecutorStats()
-             _val405.read(iprot)
-             self.executor_stats[_key404] = _val405
 -          (_ktype382, _vtype383, _size381 ) = iprot.readMapBegin()
 -          for _i385 in xrange(_size381):
 -            _key386 = ExecutorInfo()
 -            _key386.read(iprot)
 -            _val387 = ExecutorStats()
 -            _val387.read(iprot)
 -            self.executor_stats[_key386] = _val387
++          (_ktype407, _vtype408, _size406 ) = iprot.readMapBegin()
++          for _i410 in xrange(_size406):
++            _key411 = ExecutorInfo()
++            _key411.read(iprot)
++            _val412 = ExecutorStats()
++            _val412.read(iprot)
++            self.executor_stats[_key411] = _val412
            iprot.readMapEnd()
          else:
            iprot.skip(ftype)
@@@ -5479,9 -5519,9 +5642,9 @@@
      if self.executor_stats is not None:
        oprot.writeFieldBegin('executor_stats', TType.MAP, 2)
        oprot.writeMapBegin(TType.STRUCT, TType.STRUCT, len(self.executor_stats))
-       for kiter406,viter407 in self.executor_stats.items():
-         kiter406.write(oprot)
-         viter407.write(oprot)
 -      for kiter388,viter389 in self.executor_stats.items():
 -        kiter388.write(oprot)
 -        viter389.write(oprot)
++      for kiter413,viter414 in self.executor_stats.items():
++        kiter413.write(oprot)
++        viter414.write(oprot)
        oprot.writeMapEnd()
        oprot.writeFieldEnd()
      if self.time_secs is not None:
@@@ -5634,12 -5674,12 +5797,12 @@@ class LocalStateData
        if fid == 1:
          if ftype == TType.MAP:
            self.serialized_parts = {}
-           (_ktype409, _vtype410, _size408 ) = iprot.readMapBegin()
-           for _i412 in xrange(_size408):
-             _key413 = iprot.readString().decode('utf-8')
-             _val414 = ThriftSerializedObject()
-             _val414.read(iprot)
-             self.serialized_parts[_key413] = _val414
 -          (_ktype391, _vtype392, _size390 ) = iprot.readMapBegin()
 -          for _i394 in xrange(_size390):
 -            _key395 = iprot.readString().decode('utf-8')
 -            _val396 = ThriftSerializedObject()
 -            _val396.read(iprot)
 -            self.serialized_parts[_key395] = _val396
++          (_ktype416, _vtype417, _size415 ) = iprot.readMapBegin()
++          for _i419 in xrange(_size415):
++            _key420 = iprot.readString().decode('utf-8')
++            _val421 = ThriftSerializedObject()
++            _val421.read(iprot)
++            self.serialized_parts[_key420] = _val421
            iprot.readMapEnd()
          else:
            iprot.skip(ftype)
@@@ -5656,9 -5696,9 +5819,9 @@@
      if self.serialized_parts is not None:
        oprot.writeFieldBegin('serialized_parts', TType.MAP, 1)
        oprot.writeMapBegin(TType.STRING, TType.STRUCT, len(self.serialized_parts))
-       for kiter415,viter416 in self.serialized_parts.items():
-         oprot.writeString(kiter415.encode('utf-8'))
-         viter416.write(oprot)
 -      for kiter397,viter398 in self.serialized_parts.items():
 -        oprot.writeString(kiter397.encode('utf-8'))
 -        viter398.write(oprot)
++      for kiter422,viter423 in self.serialized_parts.items():
++        oprot.writeString(kiter422.encode('utf-8'))
++        viter423.write(oprot)
        oprot.writeMapEnd()
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
@@@ -5720,11 -5760,11 +5883,11 @@@ class LocalAssignment
        elif fid == 2:
          if ftype == TType.LIST:
            self.executors = []
-           (_etype420, _size417) = iprot.readListBegin()
-           for _i421 in xrange(_size417):
-             _elem422 = ExecutorInfo()
-             _elem422.read(iprot)
-             self.executors.append(_elem422)
 -          (_etype402, _size399) = iprot.readListBegin()
 -          for _i403 in xrange(_size399):
 -            _elem404 = ExecutorInfo()
 -            _elem404.read(iprot)
 -            self.executors.append(_elem404)
++          (_etype427, _size424) = iprot.readListBegin()
++          for _i428 in xrange(_size424):
++            _elem429 = ExecutorInfo()
++            _elem429.read(iprot)
++            self.executors.append(_elem429)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@@ -5745,8 -5785,8 +5908,8 @@@
      if self.executors is not None:
        oprot.writeFieldBegin('executors', TType.LIST, 2)
        oprot.writeListBegin(TType.STRUCT, len(self.executors))
-       for iter423 in self.executors:
-         iter423.write(oprot)
 -      for iter405 in self.executors:
 -        iter405.write(oprot)
++      for iter430 in self.executors:
++        iter430.write(oprot)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
@@@ -5870,11 -5910,11 +6033,11 @@@ class LSApprovedWorkers
        if fid == 1:
          if ftype == TType.MAP:
            self.approved_workers = {}
-           (_ktype425, _vtype426, _size424 ) = iprot.readMapBegin()
-           for _i428 in xrange(_size424):
-             _key429 = iprot.readString().decode('utf-8')
-             _val430 = iprot.readI32();
-             self.approved_workers[_key429] = _val430
 -          (_ktype407, _vtype408, _size406 ) = iprot.readMapBegin()
 -          for _i410 in xrange(_size406):
 -            _key411 = iprot.readString().decode('utf-8')
 -            _val412 = iprot.readI32();
 -            self.approved_workers[_key411] = _val412
++          (_ktype432, _vtype433, _size431 ) = iprot.readMapBegin()
++          for _i435 in xrange(_size431):
++            _key436 = iprot.readString().decode('utf-8')
++            _val437 = iprot.readI32();
++            self.approved_workers[_key436] = _val437
            iprot.readMapEnd()
          else:
            iprot.skip(ftype)
@@@ -5891,9 -5931,9 +6054,9 @@@
      if self.approved_workers is not None:
        oprot.writeFieldBegin('approved_workers', TType.MAP, 1)
        oprot.writeMapBegin(TType.STRING, TType.I32, len(self.approved_workers))
-       for kiter431,viter432 in self.approved_workers.items():
-         oprot.writeString(kiter431.encode('utf-8'))
-         oprot.writeI32(viter432)
 -      for kiter413,viter414 in self.approved_workers.items():
 -        oprot.writeString(kiter413.encode('utf-8'))
 -        oprot.writeI32(viter414)
++      for kiter438,viter439 in self.approved_workers.items():
++        oprot.writeString(kiter438.encode('utf-8'))
++        oprot.writeI32(viter439)
        oprot.writeMapEnd()
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
@@@ -5947,12 -5987,12 +6110,12 @@@ class LSSupervisorAssignments
        if fid == 1:
          if ftype == TType.MAP:
            self.assignments = {}
-           (_ktype434, _vtype435, _size433 ) = iprot.readMapBegin()
-           for _i437 in xrange(_size433):
-             _key438 = iprot.readI32();
-             _val439 = LocalAssignment()
-             _val439.read(iprot)
-             self.assignments[_key438] = _val439
 -          (_ktype416, _vtype417, _size415 ) = iprot.readMapBegin()
 -          for _i419 in xrange(_size415):
 -            _key420 = iprot.readI32();
 -            _val421 = LocalAssignment()
 -            _val421.read(iprot)
 -            self.assignments[_key420] = _val421
++          (_ktype441, _vtype442, _size440 ) = iprot.readMapBegin()
++          for _i444 in xrange(_size440):
++            _key445 = iprot.readI32();
++            _val446 = LocalAssignment()
++            _val446.read(iprot)
++            self.assignments[_key445] = _val446
            iprot.readMapEnd()
          else:
            iprot.skip(ftype)
@@@ -5969,9 -6009,9 +6132,9 @@@
      if self.assignments is not None:
        oprot.writeFieldBegin('assignments', TType.MAP, 1)
        oprot.writeMapBegin(TType.I32, TType.STRUCT, len(self.assignments))
-       for kiter440,viter441 in self.assignments.items():
-         oprot.writeI32(kiter440)
-         viter441.write(oprot)
 -      for kiter422,viter423 in self.assignments.items():
 -        oprot.writeI32(kiter422)
 -        viter423.write(oprot)
++      for kiter447,viter448 in self.assignments.items():
++        oprot.writeI32(kiter447)
++        viter448.write(oprot)
        oprot.writeMapEnd()
        oprot.writeFieldEnd()
      oprot.writeFieldStop()
@@@ -6044,11 -6084,11 +6207,11 @@@ class LSWorkerHeartbeat
        elif fid == 3:
          if ftype == TType.LIST:
            self.executors = []
-           (_etype445, _size442) = iprot.readListBegin()
-           for _i446 in xrange(_size442):
-             _elem447 = ExecutorInfo()
-             _elem447.read(iprot)
-             self.executors.append(_elem447)
 -          (_etype427, _size424) = iprot.readListBegin()
 -          for _i428 in xrange(_size424):
 -            _elem429 = ExecutorInfo()
 -            _elem429.read(iprot)
 -            self.executors.append(_elem429)
++          (_etype452, _size449) = iprot.readListBegin()
++          for _i453 in xrange(_size449):
++            _elem454 = ExecutorInfo()
++            _elem454.read(iprot)
++            self.executors.append(_elem454)
            iprot.readListEnd()
          else:
            iprot.skip(ftype)
@@@ -6078,8 -6118,8 +6241,8 @@@
      if self.executors is not None:
        oprot.writeFieldBegin('executors', TType.LIST, 3)
        oprot.writeListBegin(TType.STRUCT, len(self.executors))
-       for iter448 in self.executors:
-         iter448.write(oprot)
 -      for iter430 in self.executors:
 -        iter430.write(oprot)
++      for iter455 in self.executors:
++        iter455.write(oprot)
        oprot.writeListEnd()
        oprot.writeFieldEnd()
      if self.port is not None:

http://git-wip-us.apache.org/repos/asf/storm/blob/0151b441/storm-core/src/storm.thrift
----------------------------------------------------------------------
diff --cc storm-core/src/storm.thrift
index 2556fbe,a585924..20dbbbe
--- a/storm-core/src/storm.thrift
+++ b/storm-core/src/storm.thrift
@@@ -218,16 -227,11 +227,17 @@@ struct TopologyInfo 
    4: required list<ExecutorSummary> executors;
    5: required string status;
    6: required map<string, list<ErrorInfo>> errors;
 +  7: optional map<string, DebugOptions> component_debug;
  513: optional string sched_status;
  514: optional string owner;
+ 515: optional i32 replication_count;
  }
  
 +struct DebugOptions {
 +  1: optional bool enable
 +  2: optional double samplingpct
 +}
 +
  struct KillOptions {
    1: optional i32 wait_secs;
  }

http://git-wip-us.apache.org/repos/asf/storm/blob/0151b441/storm-core/src/ui/public/templates/topology-page-template.html
----------------------------------------------------------------------
diff --cc storm-core/src/ui/public/templates/topology-page-template.html
index 628edfc,1811fb8..3292ee0
--- a/storm-core/src/ui/public/templates/topology-page-template.html
+++ b/storm-core/src/ui/public/templates/topology-page-template.html
@@@ -340,11 -356,9 +356,11 @@@
  <script id="topology-actions-template" type="text/html">
    <h2>Topology actions</h2>
    <p id="topology-actions">
 -    <input {{activateStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'activate', false, 0)" type="button" value="Activate" class="btn btn-default">
 -    <input {{deactivateStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'deactivate', false, 0)" type="button" value="Deactivate" class="btn btn-default">
 -    <input {{rebalanceStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'rebalance', true, {{msgTimeout}})" type="button" value="Rebalance" class="btn btn-default">
 -    <input {{killStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'kill', true, 30)" type="button" value="Kill" class="btn btn-default">
 +    <input {{activateStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'activate', false)" type="button" value="Activate" class="btn btn-default">
 +    <input {{deactivateStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'deactivate', false)" type="button" value="Deactivate" class="btn btn-default">
 +    <input {{rebalanceStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'rebalance', true, {{msgTimeout}}, 'wait time in seconds')" type="button" value="Rebalance" class="btn btn-default">
 +    <input {{killStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'kill', true, 30, 'wait time in seconds')" type="button" value="Kill" class="btn btn-default">
 +    <input {{startDebugStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'debug/enable', true, {{currentSamplingPct}}, 'sampling percentage', 'debug')" type="button" value="Debug" class="btn btn-default">
 +    <input {{stopDebugStatus}} onclick="confirmAction('{{encodedId}}', '{{name}}', 'debug/disable', false, 0, 'sampling percentage', 'stop debugging')" type="button" value="Stop Debug" class="btn btn-default">
    </p>
- </script>
+ </script>

http://git-wip-us.apache.org/repos/asf/storm/blob/0151b441/storm-core/src/ui/public/topology.html
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/storm/blob/0151b441/storm-core/test/clj/backtype/storm/cluster_test.clj
----------------------------------------------------------------------
diff --cc storm-core/test/clj/backtype/storm/cluster_test.clj
index 251c0c6,ba1cf02..b413d43
--- a/storm-core/test/clj/backtype/storm/cluster_test.clj
+++ b/storm-core/test/clj/backtype/storm/cluster_test.clj
@@@ -170,8 -172,12 +172,12 @@@
      (let [state (mk-storm-state zk-port)
            assignment1 (Assignment. "/aaa" {} {[1] ["1" 1001 1]} {})
            assignment2 (Assignment. "/aaa" {} {[2] ["2" 2002]} {})
+           nimbusInfo1 (NimbusInfo. "nimbus1" 6667 false)
+           nimbusInfo2 (NimbusInfo. "nimbus2" 6667 false)
+           nimbusSummary1 (NimbusSummary. "nimbus1" 6667 (current-time-secs) false "v1")
+           nimbusSummary2 (NimbusSummary. "nimbus2" 6667 (current-time-secs) false "v2")
 -          base1 (StormBase. "/tmp/storm1" 1 {:type :active} 2 {} "" nil nil)
 -          base2 (StormBase. "/tmp/storm2" 2 {:type :active} 2 {} "" nil nil)]
 +          base1 (StormBase. "/tmp/storm1" 1 {:type :active} 2 {} "" nil nil {})
 +          base2 (StormBase. "/tmp/storm2" 2 {:type :active} 2 {} "" nil nil {})]
        (is (= [] (.assignments state nil)))
        (.set-assignment! state "storm1" assignment1)
        (is (= assignment1 (.assignment-info state "storm1" nil)))

http://git-wip-us.apache.org/repos/asf/storm/blob/0151b441/storm-core/test/clj/backtype/storm/nimbus_test.clj
----------------------------------------------------------------------
diff --cc storm-core/test/clj/backtype/storm/nimbus_test.clj
index 3d0978c,cbd88c4..5956128
--- a/storm-core/test/clj/backtype/storm/nimbus_test.clj
+++ b/storm-core/test/clj/backtype/storm/nimbus_test.clj
@@@ -21,8 -20,9 +21,9 @@@
    (:import [backtype.storm.testing TestWordCounter TestWordSpout TestGlobalCount
              TestAggregatesCounter TestPlannerSpout TestPlannerBolt])
    (:import [backtype.storm.scheduler INimbus])
+   (:import [backtype.storm.nimbus ILeaderElector NimbusInfo])
    (:import [backtype.storm.generated Credentials NotAliveException SubmitOptions
 -            TopologyInitialStatus AlreadyAliveException KillOptions RebalanceOptions
 +            TopologyInitialStatus TopologyStatus AlreadyAliveException KillOptions RebalanceOptions
              InvalidTopologyException AuthorizationException])
    (:import [java.util HashMap])
    (:import [java.io File])