Repository: storm
Updated Branches:
  refs/heads/master e790828ba -> fc6d6dd86


http://git-wip-us.apache.org/repos/asf/storm/blob/ef51dbee/storm-core/src/py/storm/Nimbus.py
----------------------------------------------------------------------
diff --git a/storm-core/src/py/storm/Nimbus.py 
b/storm-core/src/py/storm/Nimbus.py
index a2ee892..6159ad7 100644
--- a/storm-core/src/py/storm/Nimbus.py
+++ b/storm-core/src/py/storm/Nimbus.py
@@ -15,12 +15,14 @@
 # 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
 #
+#  options string: py:utf8strings
+#
 
-from thrift.Thrift import *
+from thrift.Thrift import TType, TMessageType, TException, 
TApplicationException
 from ttypes import *
 from thrift.Thrift import TProcessor
 from thrift.transport import TTransport
@@ -98,7 +100,7 @@ class Iface:
     """
     pass
 
-  def beginFileUpload(self, ):
+  def beginFileUpload(self):
     pass
 
   def uploadChunk(self, location, chunk):
@@ -130,10 +132,10 @@ class Iface:
     """
     pass
 
-  def getNimbusConf(self, ):
+  def getNimbusConf(self):
     pass
 
-  def getClusterInfo(self, ):
+  def getClusterInfo(self):
     pass
 
   def getTopologyInfo(self, id):
@@ -194,16 +196,17 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_submitTopology(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_submitTopology(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = submitTopology_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.e is not None:
       raise result.e
     if result.ite is not None:
@@ -236,16 +239,17 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_submitTopologyWithOpts(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_submitTopologyWithOpts(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = submitTopologyWithOpts_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.e is not None:
       raise result.e
     if result.ite is not None:
@@ -270,16 +274,17 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_killTopology(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_killTopology(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = killTopology_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.e is not None:
       raise result.e
     if result.aze is not None:
@@ -304,16 +309,17 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_killTopologyWithOpts(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_killTopologyWithOpts(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = killTopologyWithOpts_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.e is not None:
       raise result.e
     if result.aze is not None:
@@ -336,16 +342,17 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_activate(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_activate(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = activate_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.e is not None:
       raise result.e
     if result.aze is not None:
@@ -368,16 +375,17 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_deactivate(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_deactivate(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = deactivate_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.e is not None:
       raise result.e
     if result.aze is not None:
@@ -402,16 +410,17 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_rebalance(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_rebalance(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = rebalance_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.e is not None:
       raise result.e
     if result.ite is not None:
@@ -438,16 +447,17 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_uploadNewCredentials(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_uploadNewCredentials(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = uploadNewCredentials_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.e is not None:
       raise result.e
     if result.ite is not None:
@@ -456,27 +466,28 @@ class Client(Iface):
       raise result.aze
     return
 
-  def beginFileUpload(self, ):
+  def beginFileUpload(self):
     self.send_beginFileUpload()
     return self.recv_beginFileUpload()
 
-  def send_beginFileUpload(self, ):
+  def send_beginFileUpload(self):
     self._oprot.writeMessageBegin('beginFileUpload', TMessageType.CALL, 
self._seqid)
     args = beginFileUpload_args()
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_beginFileUpload(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_beginFileUpload(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = beginFileUpload_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.success is not None:
       return result.success
     if result.aze is not None:
@@ -501,16 +512,17 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_uploadChunk(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_uploadChunk(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = uploadChunk_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.aze is not None:
       raise result.aze
     return
@@ -531,16 +543,17 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_finishFileUpload(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_finishFileUpload(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = finishFileUpload_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.aze is not None:
       raise result.aze
     return
@@ -561,16 +574,17 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_beginFileDownload(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_beginFileDownload(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = beginFileDownload_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.success is not None:
       return result.success
     if result.aze is not None:
@@ -593,70 +607,73 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_downloadChunk(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_downloadChunk(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = downloadChunk_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.success is not None:
       return result.success
     if result.aze is not None:
       raise result.aze
     raise TApplicationException(TApplicationException.MISSING_RESULT, 
"downloadChunk failed: unknown result");
 
-  def getNimbusConf(self, ):
+  def getNimbusConf(self):
     self.send_getNimbusConf()
     return self.recv_getNimbusConf()
 
-  def send_getNimbusConf(self, ):
+  def send_getNimbusConf(self):
     self._oprot.writeMessageBegin('getNimbusConf', TMessageType.CALL, 
self._seqid)
     args = getNimbusConf_args()
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_getNimbusConf(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_getNimbusConf(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = getNimbusConf_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.success is not None:
       return result.success
     if result.aze is not None:
       raise result.aze
     raise TApplicationException(TApplicationException.MISSING_RESULT, 
"getNimbusConf failed: unknown result");
 
-  def getClusterInfo(self, ):
+  def getClusterInfo(self):
     self.send_getClusterInfo()
     return self.recv_getClusterInfo()
 
-  def send_getClusterInfo(self, ):
+  def send_getClusterInfo(self):
     self._oprot.writeMessageBegin('getClusterInfo', TMessageType.CALL, 
self._seqid)
     args = getClusterInfo_args()
     args.write(self._oprot)
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_getClusterInfo(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_getClusterInfo(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = getClusterInfo_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.success is not None:
       return result.success
     if result.aze is not None:
@@ -679,16 +696,17 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_getTopologyInfo(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_getTopologyInfo(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = getTopologyInfo_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.success is not None:
       return result.success
     if result.e is not None:
@@ -713,16 +731,17 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_getTopologyConf(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_getTopologyConf(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = getTopologyConf_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.success is not None:
       return result.success
     if result.e is not None:
@@ -747,16 +766,17 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_getTopology(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_getTopology(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = getTopology_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.success is not None:
       return result.success
     if result.e is not None:
@@ -781,16 +801,17 @@ class Client(Iface):
     self._oprot.writeMessageEnd()
     self._oprot.trans.flush()
 
-  def recv_getUserTopology(self, ):
-    (fname, mtype, rseqid) = self._iprot.readMessageBegin()
+  def recv_getUserTopology(self):
+    iprot = self._iprot
+    (fname, mtype, rseqid) = iprot.readMessageBegin()
     if mtype == TMessageType.EXCEPTION:
       x = TApplicationException()
-      x.read(self._iprot)
-      self._iprot.readMessageEnd()
+      x.read(iprot)
+      iprot.readMessageEnd()
       raise x
     result = getUserTopology_result()
-    result.read(self._iprot)
-    self._iprot.readMessageEnd()
+    result.read(iprot)
+    iprot.readMessageEnd()
     if result.success is not None:
       return result.success
     if result.e is not None:
@@ -1157,9 +1178,6 @@ class submitTopology_args:
     (4, TType.STRUCT, 'topology', (StormTopology, StormTopology.thrift_spec), 
None, ), # 4
   )
 
-  def __hash__(self):
-    return 0 + hash(self.name) + hash(self.uploadedJarLocation) + 
hash(self.jsonConf) + hash(self.topology)
-
   def __init__(self, name=None, uploadedJarLocation=None, jsonConf=None, 
topology=None,):
     self.name = name
     self.uploadedJarLocation = uploadedJarLocation
@@ -1229,6 +1247,14 @@ class submitTopology_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.name)
+    value = (value * 31) ^ hash(self.uploadedJarLocation)
+    value = (value * 31) ^ hash(self.jsonConf)
+    value = (value * 31) ^ hash(self.topology)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1255,9 +1281,6 @@ class submitTopology_result:
     (3, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 3
   )
 
-  def __hash__(self):
-    return 0 + hash(self.e) + hash(self.ite) + hash(self.aze)
-
   def __init__(self, e=None, ite=None, aze=None,):
     self.e = e
     self.ite = ite
@@ -1319,6 +1342,13 @@ class submitTopology_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.e)
+    value = (value * 31) ^ hash(self.ite)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1349,9 +1379,6 @@ class submitTopologyWithOpts_args:
     (5, TType.STRUCT, 'options', (SubmitOptions, SubmitOptions.thrift_spec), 
None, ), # 5
   )
 
-  def __hash__(self):
-    return 0 + hash(self.name) + hash(self.uploadedJarLocation) + 
hash(self.jsonConf) + hash(self.topology) + hash(self.options)
-
   def __init__(self, name=None, uploadedJarLocation=None, jsonConf=None, 
topology=None, options=None,):
     self.name = name
     self.uploadedJarLocation = uploadedJarLocation
@@ -1432,6 +1459,15 @@ class submitTopologyWithOpts_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.name)
+    value = (value * 31) ^ hash(self.uploadedJarLocation)
+    value = (value * 31) ^ hash(self.jsonConf)
+    value = (value * 31) ^ hash(self.topology)
+    value = (value * 31) ^ hash(self.options)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1458,9 +1494,6 @@ class submitTopologyWithOpts_result:
     (3, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 3
   )
 
-  def __hash__(self):
-    return 0 + hash(self.e) + hash(self.ite) + hash(self.aze)
-
   def __init__(self, e=None, ite=None, aze=None,):
     self.e = e
     self.ite = ite
@@ -1522,6 +1555,13 @@ class submitTopologyWithOpts_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.e)
+    value = (value * 31) ^ hash(self.ite)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1544,9 +1584,6 @@ class killTopology_args:
     (1, TType.STRING, 'name', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.name)
-
   def __init__(self, name=None,):
     self.name = name
 
@@ -1585,6 +1622,11 @@ class killTopology_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.name)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1609,9 +1651,6 @@ class killTopology_result:
     (2, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.e) + hash(self.aze)
-
   def __init__(self, e=None, aze=None,):
     self.e = e
     self.aze = aze
@@ -1662,6 +1701,12 @@ class killTopology_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.e)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1686,9 +1731,6 @@ class killTopologyWithOpts_args:
     (2, TType.STRUCT, 'options', (KillOptions, KillOptions.thrift_spec), None, 
), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.name) + hash(self.options)
-
   def __init__(self, name=None, options=None,):
     self.name = name
     self.options = options
@@ -1738,6 +1780,12 @@ class killTopologyWithOpts_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.name)
+    value = (value * 31) ^ hash(self.options)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1762,9 +1810,6 @@ class killTopologyWithOpts_result:
     (2, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.e) + hash(self.aze)
-
   def __init__(self, e=None, aze=None,):
     self.e = e
     self.aze = aze
@@ -1815,6 +1860,12 @@ class killTopologyWithOpts_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.e)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1837,9 +1888,6 @@ class activate_args:
     (1, TType.STRING, 'name', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.name)
-
   def __init__(self, name=None,):
     self.name = name
 
@@ -1878,6 +1926,11 @@ class activate_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.name)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1902,9 +1955,6 @@ class activate_result:
     (2, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.e) + hash(self.aze)
-
   def __init__(self, e=None, aze=None,):
     self.e = e
     self.aze = aze
@@ -1955,6 +2005,12 @@ class activate_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.e)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1977,9 +2033,6 @@ class deactivate_args:
     (1, TType.STRING, 'name', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.name)
-
   def __init__(self, name=None,):
     self.name = name
 
@@ -2018,6 +2071,11 @@ class deactivate_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.name)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2042,9 +2100,6 @@ class deactivate_result:
     (2, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.e) + hash(self.aze)
-
   def __init__(self, e=None, aze=None,):
     self.e = e
     self.aze = aze
@@ -2095,6 +2150,12 @@ class deactivate_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.e)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2119,9 +2180,6 @@ class rebalance_args:
     (2, TType.STRUCT, 'options', (RebalanceOptions, 
RebalanceOptions.thrift_spec), None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.name) + hash(self.options)
-
   def __init__(self, name=None, options=None,):
     self.name = name
     self.options = options
@@ -2171,6 +2229,12 @@ class rebalance_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.name)
+    value = (value * 31) ^ hash(self.options)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2197,9 +2261,6 @@ class rebalance_result:
     (3, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 3
   )
 
-  def __hash__(self):
-    return 0 + hash(self.e) + hash(self.ite) + hash(self.aze)
-
   def __init__(self, e=None, ite=None, aze=None,):
     self.e = e
     self.ite = ite
@@ -2261,6 +2322,13 @@ class rebalance_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.e)
+    value = (value * 31) ^ hash(self.ite)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2285,9 +2353,6 @@ class uploadNewCredentials_args:
     (2, TType.STRUCT, 'creds', (Credentials, Credentials.thrift_spec), None, 
), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.name) + hash(self.creds)
-
   def __init__(self, name=None, creds=None,):
     self.name = name
     self.creds = creds
@@ -2337,6 +2402,12 @@ class uploadNewCredentials_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.name)
+    value = (value * 31) ^ hash(self.creds)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2363,9 +2434,6 @@ class uploadNewCredentials_result:
     (3, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 3
   )
 
-  def __hash__(self):
-    return 0 + hash(self.e) + hash(self.ite) + hash(self.aze)
-
   def __init__(self, e=None, ite=None, aze=None,):
     self.e = e
     self.ite = ite
@@ -2427,6 +2495,13 @@ class uploadNewCredentials_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.e)
+    value = (value * 31) ^ hash(self.ite)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2443,9 +2518,6 @@ class beginFileUpload_args:
   thrift_spec = (
   )
 
-  def __hash__(self):
-    return 0
-
   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:
       fastbinary.decode_binary(self, iprot.trans, (self.__class__, 
self.thrift_spec))
@@ -2472,6 +2544,10 @@ class beginFileUpload_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2495,9 +2571,6 @@ class beginFileUpload_result:
     (1, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.success) + hash(self.aze)
-
   def __init__(self, success=None, aze=None,):
     self.success = success
     self.aze = aze
@@ -2547,6 +2620,12 @@ class beginFileUpload_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2571,9 +2650,6 @@ class uploadChunk_args:
     (2, TType.STRING, 'chunk', None, None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.location) + hash(self.chunk)
-
   def __init__(self, location=None, chunk=None,):
     self.location = location
     self.chunk = chunk
@@ -2622,6 +2698,12 @@ class uploadChunk_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.location)
+    value = (value * 31) ^ hash(self.chunk)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2644,9 +2726,6 @@ class uploadChunk_result:
     (1, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.aze)
-
   def __init__(self, aze=None,):
     self.aze = aze
 
@@ -2686,6 +2765,11 @@ class uploadChunk_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2708,9 +2792,6 @@ class finishFileUpload_args:
     (1, TType.STRING, 'location', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.location)
-
   def __init__(self, location=None,):
     self.location = location
 
@@ -2749,6 +2830,11 @@ class finishFileUpload_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.location)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2771,9 +2857,6 @@ class finishFileUpload_result:
     (1, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.aze)
-
   def __init__(self, aze=None,):
     self.aze = aze
 
@@ -2813,6 +2896,11 @@ class finishFileUpload_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2835,9 +2923,6 @@ class beginFileDownload_args:
     (1, TType.STRING, 'file', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.file)
-
   def __init__(self, file=None,):
     self.file = file
 
@@ -2876,6 +2961,11 @@ class beginFileDownload_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.file)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2899,9 +2989,6 @@ class beginFileDownload_result:
     (1, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.success) + hash(self.aze)
-
   def __init__(self, success=None, aze=None,):
     self.success = success
     self.aze = aze
@@ -2951,6 +3038,12 @@ class beginFileDownload_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2973,9 +3066,6 @@ class downloadChunk_args:
     (1, TType.STRING, 'id', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.id)
-
   def __init__(self, id=None,):
     self.id = id
 
@@ -3014,6 +3104,11 @@ class downloadChunk_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.id)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3037,9 +3132,6 @@ class downloadChunk_result:
     (1, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.success) + hash(self.aze)
-
   def __init__(self, success=None, aze=None,):
     self.success = success
     self.aze = aze
@@ -3089,6 +3181,12 @@ class downloadChunk_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3105,9 +3203,6 @@ class getNimbusConf_args:
   thrift_spec = (
   )
 
-  def __hash__(self):
-    return 0
-
   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:
       fastbinary.decode_binary(self, iprot.trans, (self.__class__, 
self.thrift_spec))
@@ -3134,6 +3229,10 @@ class getNimbusConf_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3157,9 +3256,6 @@ class getNimbusConf_result:
     (1, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.success) + hash(self.aze)
-
   def __init__(self, success=None, aze=None,):
     self.success = success
     self.aze = aze
@@ -3209,6 +3305,12 @@ class getNimbusConf_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3225,9 +3327,6 @@ class getClusterInfo_args:
   thrift_spec = (
   )
 
-  def __hash__(self):
-    return 0
-
   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:
       fastbinary.decode_binary(self, iprot.trans, (self.__class__, 
self.thrift_spec))
@@ -3254,6 +3353,10 @@ class getClusterInfo_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3277,9 +3380,6 @@ class getClusterInfo_result:
     (1, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.success) + hash(self.aze)
-
   def __init__(self, success=None, aze=None,):
     self.success = success
     self.aze = aze
@@ -3330,6 +3430,12 @@ class getClusterInfo_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3352,9 +3458,6 @@ class getTopologyInfo_args:
     (1, TType.STRING, 'id', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.id)
-
   def __init__(self, id=None,):
     self.id = id
 
@@ -3393,6 +3496,11 @@ class getTopologyInfo_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.id)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3418,9 +3526,6 @@ class getTopologyInfo_result:
     (2, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.success) + hash(self.e) + hash(self.aze)
-
   def __init__(self, success=None, e=None, aze=None,):
     self.success = success
     self.e = e
@@ -3482,6 +3587,13 @@ class getTopologyInfo_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.e)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3504,9 +3616,6 @@ class getTopologyConf_args:
     (1, TType.STRING, 'id', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.id)
-
   def __init__(self, id=None,):
     self.id = id
 
@@ -3545,6 +3654,11 @@ class getTopologyConf_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.id)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3570,9 +3684,6 @@ class getTopologyConf_result:
     (2, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.success) + hash(self.e) + hash(self.aze)
-
   def __init__(self, success=None, e=None, aze=None,):
     self.success = success
     self.e = e
@@ -3633,6 +3744,13 @@ class getTopologyConf_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.e)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3655,9 +3773,6 @@ class getTopology_args:
     (1, TType.STRING, 'id', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.id)
-
   def __init__(self, id=None,):
     self.id = id
 
@@ -3696,6 +3811,11 @@ class getTopology_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.id)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3721,9 +3841,6 @@ class getTopology_result:
     (2, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.success) + hash(self.e) + hash(self.aze)
-
   def __init__(self, success=None, e=None, aze=None,):
     self.success = success
     self.e = e
@@ -3785,6 +3902,13 @@ class getTopology_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.e)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3807,9 +3931,6 @@ class getUserTopology_args:
     (1, TType.STRING, 'id', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.id)
-
   def __init__(self, id=None,):
     self.id = id
 
@@ -3848,6 +3969,11 @@ class getUserTopology_args:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.id)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3873,9 +3999,6 @@ class getUserTopology_result:
     (2, TType.STRUCT, 'aze', (AuthorizationException, 
AuthorizationException.thrift_spec), None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.success) + hash(self.e) + hash(self.aze)
-
   def __init__(self, success=None, e=None, aze=None,):
     self.success = success
     self.e = e
@@ -3937,6 +4060,13 @@ class getUserTopology_result:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.success)
+    value = (value * 31) ^ hash(self.e)
+    value = (value * 31) ^ hash(self.aze)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]

http://git-wip-us.apache.org/repos/asf/storm/blob/ef51dbee/storm-core/src/py/storm/constants.py
----------------------------------------------------------------------
diff --git a/storm-core/src/py/storm/constants.py 
b/storm-core/src/py/storm/constants.py
index 432bbb5..8f77f7c 100644
--- a/storm-core/src/py/storm/constants.py
+++ b/storm-core/src/py/storm/constants.py
@@ -15,11 +15,13 @@
 # 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
 #
+#  options string: py:utf8strings
+#
 
-from thrift.Thrift import *
+from thrift.Thrift import TType, TMessageType, TException, 
TApplicationException
 from ttypes import *
 

http://git-wip-us.apache.org/repos/asf/storm/blob/ef51dbee/storm-core/src/py/storm/ttypes.py
----------------------------------------------------------------------
diff --git a/storm-core/src/py/storm/ttypes.py 
b/storm-core/src/py/storm/ttypes.py
index 1bbaf37..58af972 100644
--- a/storm-core/src/py/storm/ttypes.py
+++ b/storm-core/src/py/storm/ttypes.py
@@ -15,12 +15,14 @@
 # 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
 #
+#  options string: py:utf8strings
+#
 
-from thrift.Thrift import *
+from thrift.Thrift import TType, TMessageType, TException, 
TApplicationException
 
 from thrift.transport import TTransport
 from thrift.protocol import TBinaryProtocol, TProtocol
@@ -66,9 +68,6 @@ class JavaObjectArg:
     (6, TType.DOUBLE, 'double_arg', None, None, ), # 6
   )
 
-  def __hash__(self):
-    return 0 + hash(self.int_arg) + hash(self.long_arg) + 
hash(self.string_arg) + hash(self.bool_arg) + hash(self.binary_arg) + 
hash(self.double_arg)
-
   def __init__(self, int_arg=None, long_arg=None, string_arg=None, 
bool_arg=None, binary_arg=None, double_arg=None,):
     self.int_arg = int_arg
     self.long_arg = long_arg
@@ -157,6 +156,16 @@ class JavaObjectArg:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.int_arg)
+    value = (value * 31) ^ hash(self.long_arg)
+    value = (value * 31) ^ hash(self.string_arg)
+    value = (value * 31) ^ hash(self.bool_arg)
+    value = (value * 31) ^ hash(self.binary_arg)
+    value = (value * 31) ^ hash(self.double_arg)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -181,9 +190,6 @@ class JavaObject:
     (2, TType.LIST, 'args_list', (TType.STRUCT,(JavaObjectArg, 
JavaObjectArg.thrift_spec)), None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.full_class_name) + hash(self.args_list)
-
   def __init__(self, full_class_name=None, args_list=None,):
     self.full_class_name = full_class_name
     self.args_list = args_list
@@ -245,6 +251,12 @@ class JavaObject:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.full_class_name)
+    value = (value * 31) ^ hash(self.args_list)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -261,9 +273,6 @@ class NullStruct:
   thrift_spec = (
   )
 
-  def __hash__(self):
-    return 0
-
   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:
       fastbinary.decode_binary(self, iprot.trans, (self.__class__, 
self.thrift_spec))
@@ -290,6 +299,10 @@ class NullStruct:
     return
 
 
+  def __hash__(self):
+    value = 17
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -314,9 +327,6 @@ class GlobalStreamId:
     (2, TType.STRING, 'streamId', None, None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.componentId) + hash(self.streamId)
-
   def __init__(self, componentId=None, streamId=None,):
     self.componentId = componentId
     self.streamId = streamId
@@ -369,6 +379,12 @@ class GlobalStreamId:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.componentId)
+    value = (value * 31) ^ hash(self.streamId)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -405,9 +421,6 @@ class Grouping:
     (8, TType.STRUCT, 'local_or_shuffle', (NullStruct, 
NullStruct.thrift_spec), None, ), # 8
   )
 
-  def __hash__(self):
-    return 0 + hash(self.fields) + hash(self.shuffle) + hash(self.all) + 
hash(self.none) + hash(self.direct) + hash(self.custom_object) + 
hash(self.custom_serialized) + hash(self.local_or_shuffle)
-
   def __init__(self, fields=None, shuffle=None, all=None, none=None, 
direct=None, custom_object=None, custom_serialized=None, 
local_or_shuffle=None,):
     self.fields = fields
     self.shuffle = shuffle
@@ -530,6 +543,18 @@ class Grouping:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.fields)
+    value = (value * 31) ^ hash(self.shuffle)
+    value = (value * 31) ^ hash(self.all)
+    value = (value * 31) ^ hash(self.none)
+    value = (value * 31) ^ hash(self.direct)
+    value = (value * 31) ^ hash(self.custom_object)
+    value = (value * 31) ^ hash(self.custom_serialized)
+    value = (value * 31) ^ hash(self.local_or_shuffle)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -554,9 +579,6 @@ class StreamInfo:
     (2, TType.BOOL, 'direct', None, None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.output_fields) + hash(self.direct)
-
   def __init__(self, output_fields=None, direct=None,):
     self.output_fields = output_fields
     self.direct = direct
@@ -617,6 +639,12 @@ class StreamInfo:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.output_fields)
+    value = (value * 31) ^ hash(self.direct)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -641,9 +669,6 @@ class ShellComponent:
     (2, TType.STRING, 'script', None, None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.execution_command) + hash(self.script)
-
   def __init__(self, execution_command=None, script=None,):
     self.execution_command = execution_command
     self.script = script
@@ -692,6 +717,12 @@ class ShellComponent:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.execution_command)
+    value = (value * 31) ^ hash(self.script)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -718,9 +749,6 @@ class ComponentObject:
     (3, TType.STRUCT, 'java_object', (JavaObject, JavaObject.thrift_spec), 
None, ), # 3
   )
 
-  def __hash__(self):
-    return 0 + hash(self.serialized_java) + hash(self.shell) + 
hash(self.java_object)
-
   def __init__(self, serialized_java=None, shell=None, java_object=None,):
     self.serialized_java = serialized_java
     self.shell = shell
@@ -781,6 +809,13 @@ class ComponentObject:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.serialized_java)
+    value = (value * 31) ^ hash(self.shell)
+    value = (value * 31) ^ hash(self.java_object)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -809,9 +844,6 @@ class ComponentCommon:
     (4, TType.STRING, 'json_conf', None, None, ), # 4
   )
 
-  def __hash__(self):
-    return 0 + hash(self.inputs) + hash(self.streams) + 
hash(self.parallelism_hint) + hash(self.json_conf)
-
   def __init__(self, inputs=None, streams=None, parallelism_hint=None, 
json_conf=None,):
     self.inputs = inputs
     self.streams = streams
@@ -830,7 +862,7 @@ class ComponentCommon:
       if fid == 1:
         if ftype == TType.MAP:
           self.inputs = {}
-          (_ktype22, _vtype23, _size21 ) = iprot.readMapBegin() 
+          (_ktype22, _vtype23, _size21 ) = iprot.readMapBegin()
           for _i25 in xrange(_size21):
             _key26 = GlobalStreamId()
             _key26.read(iprot)
@@ -843,7 +875,7 @@ class ComponentCommon:
       elif fid == 2:
         if ftype == TType.MAP:
           self.streams = {}
-          (_ktype29, _vtype30, _size28 ) = iprot.readMapBegin() 
+          (_ktype29, _vtype30, _size28 ) = iprot.readMapBegin()
           for _i32 in xrange(_size28):
             _key33 = iprot.readString().decode('utf-8')
             _val34 = StreamInfo()
@@ -907,6 +939,14 @@ class ComponentCommon:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.inputs)
+    value = (value * 31) ^ hash(self.streams)
+    value = (value * 31) ^ hash(self.parallelism_hint)
+    value = (value * 31) ^ hash(self.json_conf)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -931,9 +971,6 @@ class SpoutSpec:
     (2, TType.STRUCT, 'common', (ComponentCommon, 
ComponentCommon.thrift_spec), None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.spout_object) + hash(self.common)
-
   def __init__(self, spout_object=None, common=None,):
     self.spout_object = spout_object
     self.common = common
@@ -988,6 +1025,12 @@ class SpoutSpec:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.spout_object)
+    value = (value * 31) ^ hash(self.common)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1012,9 +1055,6 @@ class Bolt:
     (2, TType.STRUCT, 'common', (ComponentCommon, 
ComponentCommon.thrift_spec), None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.bolt_object) + hash(self.common)
-
   def __init__(self, bolt_object=None, common=None,):
     self.bolt_object = bolt_object
     self.common = common
@@ -1069,6 +1109,12 @@ class Bolt:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.bolt_object)
+    value = (value * 31) ^ hash(self.common)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1093,9 +1139,6 @@ class StateSpoutSpec:
     (2, TType.STRUCT, 'common', (ComponentCommon, 
ComponentCommon.thrift_spec), None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.state_spout_object) + hash(self.common)
-
   def __init__(self, state_spout_object=None, common=None,):
     self.state_spout_object = state_spout_object
     self.common = common
@@ -1150,6 +1193,12 @@ class StateSpoutSpec:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.state_spout_object)
+    value = (value * 31) ^ hash(self.common)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1176,9 +1225,6 @@ class StormTopology:
     (3, TType.MAP, 'state_spouts', 
(TType.STRING,None,TType.STRUCT,(StateSpoutSpec, StateSpoutSpec.thrift_spec)), 
None, ), # 3
   )
 
-  def __hash__(self):
-    return 0 + hash(self.spouts) + hash(self.bolts) + hash(self.state_spouts)
-
   def __init__(self, spouts=None, bolts=None, state_spouts=None,):
     self.spouts = spouts
     self.bolts = bolts
@@ -1196,7 +1242,7 @@ class StormTopology:
       if fid == 1:
         if ftype == TType.MAP:
           self.spouts = {}
-          (_ktype40, _vtype41, _size39 ) = iprot.readMapBegin() 
+          (_ktype40, _vtype41, _size39 ) = iprot.readMapBegin()
           for _i43 in xrange(_size39):
             _key44 = iprot.readString().decode('utf-8')
             _val45 = SpoutSpec()
@@ -1208,7 +1254,7 @@ class StormTopology:
       elif fid == 2:
         if ftype == TType.MAP:
           self.bolts = {}
-          (_ktype47, _vtype48, _size46 ) = iprot.readMapBegin() 
+          (_ktype47, _vtype48, _size46 ) = iprot.readMapBegin()
           for _i50 in xrange(_size46):
             _key51 = iprot.readString().decode('utf-8')
             _val52 = Bolt()
@@ -1220,7 +1266,7 @@ class StormTopology:
       elif fid == 3:
         if ftype == TType.MAP:
           self.state_spouts = {}
-          (_ktype54, _vtype55, _size53 ) = iprot.readMapBegin() 
+          (_ktype54, _vtype55, _size53 ) = iprot.readMapBegin()
           for _i57 in xrange(_size53):
             _key58 = iprot.readString().decode('utf-8')
             _val59 = StateSpoutSpec()
@@ -1276,6 +1322,13 @@ class StormTopology:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.spouts)
+    value = (value * 31) ^ hash(self.bolts)
+    value = (value * 31) ^ hash(self.state_spouts)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1287,7 +1340,7 @@ class StormTopology:
   def __ne__(self, other):
     return not (self == other)
 
-class AlreadyAliveException(Exception):
+class AlreadyAliveException(TException):
   """
   Attributes:
    - msg
@@ -1298,9 +1351,6 @@ class AlreadyAliveException(Exception):
     (1, TType.STRING, 'msg', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.msg)
-
   def __init__(self, msg=None,):
     self.msg = msg
 
@@ -1344,6 +1394,11 @@ class AlreadyAliveException(Exception):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.msg)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1355,7 +1410,7 @@ class AlreadyAliveException(Exception):
   def __ne__(self, other):
     return not (self == other)
 
-class NotAliveException(Exception):
+class NotAliveException(TException):
   """
   Attributes:
    - msg
@@ -1366,9 +1421,6 @@ class NotAliveException(Exception):
     (1, TType.STRING, 'msg', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.msg)
-
   def __init__(self, msg=None,):
     self.msg = msg
 
@@ -1412,6 +1464,11 @@ class NotAliveException(Exception):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.msg)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1423,7 +1480,7 @@ class NotAliveException(Exception):
   def __ne__(self, other):
     return not (self == other)
 
-class AuthorizationException(Exception):
+class AuthorizationException(TException):
   """
   Attributes:
    - msg
@@ -1434,9 +1491,6 @@ class AuthorizationException(Exception):
     (1, TType.STRING, 'msg', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.msg)
-
   def __init__(self, msg=None,):
     self.msg = msg
 
@@ -1480,6 +1534,11 @@ class AuthorizationException(Exception):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.msg)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -1491,7 +1550,7 @@ class AuthorizationException(Exception):
   def __ne__(self, other):
     return not (self == other)
 
-class InvalidTopologyException(Exception):
+class InvalidTopologyException(TException):
   """
   Attributes:
    - msg
@@ -1502,9 +1561,6 @@ class InvalidTopologyException(Exception):
     (1, TType.STRING, 'msg', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.msg)
-
   def __init__(self, msg=None,):
     self.msg = msg
 
@@ -1548,6 +1604,11 @@ class InvalidTopologyException(Exception):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.msg)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2091,9 +2152,6 @@ class TopologySummary:
     (514, TType.STRING, 'owner', None, None, ), # 514
   )
 
-  def __hash__(self):
-    return 0 + hash(self.id) + hash(self.name) + hash(self.num_tasks) + 
hash(self.num_executors) + hash(self.num_workers) + hash(self.uptime_secs) + 
hash(self.status) + hash(self.sched_status) + hash(self.owner)
-
   def __init__(self, id=None, name=None, num_tasks=None, num_executors=None, 
num_workers=None, uptime_secs=None, status=None, sched_status=None, 
owner=None,):
     self.id = id
     self.name = name
@@ -2226,6 +2284,19 @@ class TopologySummary:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.id)
+    value = (value * 31) ^ hash(self.name)
+    value = (value * 31) ^ hash(self.num_tasks)
+    value = (value * 31) ^ hash(self.num_executors)
+    value = (value * 31) ^ hash(self.num_workers)
+    value = (value * 31) ^ hash(self.uptime_secs)
+    value = (value * 31) ^ hash(self.status)
+    value = (value * 31) ^ hash(self.sched_status)
+    value = (value * 31) ^ hash(self.owner)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2256,9 +2327,6 @@ class SupervisorSummary:
     (5, TType.STRING, 'supervisor_id', None, None, ), # 5
   )
 
-  def __hash__(self):
-    return 0 + hash(self.host) + hash(self.uptime_secs) + 
hash(self.num_workers) + hash(self.num_used_workers) + hash(self.supervisor_id)
-
   def __init__(self, host=None, uptime_secs=None, num_workers=None, 
num_used_workers=None, supervisor_id=None,):
     self.host = host
     self.uptime_secs = uptime_secs
@@ -2347,6 +2415,15 @@ class SupervisorSummary:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.host)
+    value = (value * 31) ^ hash(self.uptime_secs)
+    value = (value * 31) ^ hash(self.num_workers)
+    value = (value * 31) ^ hash(self.num_used_workers)
+    value = (value * 31) ^ hash(self.supervisor_id)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2373,9 +2450,6 @@ class ClusterSummary:
     (3, TType.LIST, 'topologies', (TType.STRUCT,(TopologySummary, 
TopologySummary.thrift_spec)), None, ), # 3
   )
 
-  def __hash__(self):
-    return 0 + hash(self.supervisors) + hash(self.nimbus_uptime_secs) + 
hash(self.topologies)
-
   def __init__(self, supervisors=None, nimbus_uptime_secs=None, 
topologies=None,):
     self.supervisors = supervisors
     self.nimbus_uptime_secs = nimbus_uptime_secs
@@ -2458,6 +2532,13 @@ class ClusterSummary:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.supervisors)
+    value = (value * 31) ^ hash(self.nimbus_uptime_secs)
+    value = (value * 31) ^ hash(self.topologies)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2486,9 +2567,6 @@ class ErrorInfo:
     (4, TType.I32, 'port', None, None, ), # 4
   )
 
-  def __hash__(self):
-    return 0 + hash(self.error) + hash(self.error_time_secs) + hash(self.host) 
+ hash(self.port)
-
   def __init__(self, error=None, error_time_secs=None, host=None, port=None,):
     self.error = error
     self.error_time_secs = error_time_secs
@@ -2561,6 +2639,14 @@ class ErrorInfo:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.error)
+    value = (value * 31) ^ hash(self.error_time_secs)
+    value = (value * 31) ^ hash(self.host)
+    value = (value * 31) ^ hash(self.port)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2591,9 +2677,6 @@ class BoltStats:
     (5, TType.MAP, 'execute_ms_avg', 
(TType.STRING,None,TType.MAP,(TType.STRUCT,(GlobalStreamId, 
GlobalStreamId.thrift_spec),TType.DOUBLE,None)), None, ), # 5
   )
 
-  def __hash__(self):
-    return 0 + hash(self.acked) + hash(self.failed) + 
hash(self.process_ms_avg) + hash(self.executed) + hash(self.execute_ms_avg)
-
   def __init__(self, acked=None, failed=None, process_ms_avg=None, 
executed=None, execute_ms_avg=None,):
     self.acked = acked
     self.failed = failed
@@ -2613,11 +2696,11 @@ class BoltStats:
       if fid == 1:
         if ftype == TType.MAP:
           self.acked = {}
-          (_ktype81, _vtype82, _size80 ) = iprot.readMapBegin() 
+          (_ktype81, _vtype82, _size80 ) = iprot.readMapBegin()
           for _i84 in xrange(_size80):
             _key85 = iprot.readString().decode('utf-8')
             _val86 = {}
-            (_ktype88, _vtype89, _size87 ) = iprot.readMapBegin() 
+            (_ktype88, _vtype89, _size87 ) = iprot.readMapBegin()
             for _i91 in xrange(_size87):
               _key92 = GlobalStreamId()
               _key92.read(iprot)
@@ -2631,11 +2714,11 @@ class BoltStats:
       elif fid == 2:
         if ftype == TType.MAP:
           self.failed = {}
-          (_ktype95, _vtype96, _size94 ) = iprot.readMapBegin() 
+          (_ktype95, _vtype96, _size94 ) = iprot.readMapBegin()
           for _i98 in xrange(_size94):
             _key99 = iprot.readString().decode('utf-8')
             _val100 = {}
-            (_ktype102, _vtype103, _size101 ) = iprot.readMapBegin() 
+            (_ktype102, _vtype103, _size101 ) = iprot.readMapBegin()
             for _i105 in xrange(_size101):
               _key106 = GlobalStreamId()
               _key106.read(iprot)
@@ -2649,11 +2732,11 @@ class BoltStats:
       elif fid == 3:
         if ftype == TType.MAP:
           self.process_ms_avg = {}
-          (_ktype109, _vtype110, _size108 ) = iprot.readMapBegin() 
+          (_ktype109, _vtype110, _size108 ) = iprot.readMapBegin()
           for _i112 in xrange(_size108):
             _key113 = iprot.readString().decode('utf-8')
             _val114 = {}
-            (_ktype116, _vtype117, _size115 ) = iprot.readMapBegin() 
+            (_ktype116, _vtype117, _size115 ) = iprot.readMapBegin()
             for _i119 in xrange(_size115):
               _key120 = GlobalStreamId()
               _key120.read(iprot)
@@ -2667,11 +2750,11 @@ class BoltStats:
       elif fid == 4:
         if ftype == TType.MAP:
           self.executed = {}
-          (_ktype123, _vtype124, _size122 ) = iprot.readMapBegin() 
+          (_ktype123, _vtype124, _size122 ) = iprot.readMapBegin()
           for _i126 in xrange(_size122):
             _key127 = iprot.readString().decode('utf-8')
             _val128 = {}
-            (_ktype130, _vtype131, _size129 ) = iprot.readMapBegin() 
+            (_ktype130, _vtype131, _size129 ) = iprot.readMapBegin()
             for _i133 in xrange(_size129):
               _key134 = GlobalStreamId()
               _key134.read(iprot)
@@ -2685,11 +2768,11 @@ class BoltStats:
       elif fid == 5:
         if ftype == TType.MAP:
           self.execute_ms_avg = {}
-          (_ktype137, _vtype138, _size136 ) = iprot.readMapBegin() 
+          (_ktype137, _vtype138, _size136 ) = iprot.readMapBegin()
           for _i140 in xrange(_size136):
             _key141 = iprot.readString().decode('utf-8')
             _val142 = {}
-            (_ktype144, _vtype145, _size143 ) = iprot.readMapBegin() 
+            (_ktype144, _vtype145, _size143 ) = iprot.readMapBegin()
             for _i147 in xrange(_size143):
               _key148 = GlobalStreamId()
               _key148.read(iprot)
@@ -2787,6 +2870,15 @@ class BoltStats:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.acked)
+    value = (value * 31) ^ hash(self.failed)
+    value = (value * 31) ^ hash(self.process_ms_avg)
+    value = (value * 31) ^ hash(self.executed)
+    value = (value * 31) ^ hash(self.execute_ms_avg)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2813,9 +2905,6 @@ class SpoutStats:
     (3, TType.MAP, 'complete_ms_avg', 
(TType.STRING,None,TType.MAP,(TType.STRING,None,TType.DOUBLE,None)), None, ), # 
3
   )
 
-  def __hash__(self):
-    return 0 + hash(self.acked) + hash(self.failed) + 
hash(self.complete_ms_avg)
-
   def __init__(self, acked=None, failed=None, complete_ms_avg=None,):
     self.acked = acked
     self.failed = failed
@@ -2833,11 +2922,11 @@ class SpoutStats:
       if fid == 1:
         if ftype == TType.MAP:
           self.acked = {}
-          (_ktype171, _vtype172, _size170 ) = iprot.readMapBegin() 
+          (_ktype171, _vtype172, _size170 ) = iprot.readMapBegin()
           for _i174 in xrange(_size170):
             _key175 = iprot.readString().decode('utf-8')
             _val176 = {}
-            (_ktype178, _vtype179, _size177 ) = iprot.readMapBegin() 
+            (_ktype178, _vtype179, _size177 ) = iprot.readMapBegin()
             for _i181 in xrange(_size177):
               _key182 = iprot.readString().decode('utf-8')
               _val183 = iprot.readI64();
@@ -2850,11 +2939,11 @@ class SpoutStats:
       elif fid == 2:
         if ftype == TType.MAP:
           self.failed = {}
-          (_ktype185, _vtype186, _size184 ) = iprot.readMapBegin() 
+          (_ktype185, _vtype186, _size184 ) = iprot.readMapBegin()
           for _i188 in xrange(_size184):
             _key189 = iprot.readString().decode('utf-8')
             _val190 = {}
-            (_ktype192, _vtype193, _size191 ) = iprot.readMapBegin() 
+            (_ktype192, _vtype193, _size191 ) = iprot.readMapBegin()
             for _i195 in xrange(_size191):
               _key196 = iprot.readString().decode('utf-8')
               _val197 = iprot.readI64();
@@ -2867,11 +2956,11 @@ class SpoutStats:
       elif fid == 3:
         if ftype == TType.MAP:
           self.complete_ms_avg = {}
-          (_ktype199, _vtype200, _size198 ) = iprot.readMapBegin() 
+          (_ktype199, _vtype200, _size198 ) = iprot.readMapBegin()
           for _i202 in xrange(_size198):
             _key203 = iprot.readString().decode('utf-8')
             _val204 = {}
-            (_ktype206, _vtype207, _size205 ) = iprot.readMapBegin() 
+            (_ktype206, _vtype207, _size205 ) = iprot.readMapBegin()
             for _i209 in xrange(_size205):
               _key210 = iprot.readString().decode('utf-8')
               _val211 = iprot.readDouble();
@@ -2940,6 +3029,13 @@ class SpoutStats:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.acked)
+    value = (value * 31) ^ hash(self.failed)
+    value = (value * 31) ^ hash(self.complete_ms_avg)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -2964,9 +3060,6 @@ class ExecutorSpecificStats:
     (2, TType.STRUCT, 'spout', (SpoutStats, SpoutStats.thrift_spec), None, ), 
# 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.bolt) + hash(self.spout)
-
   def __init__(self, bolt=None, spout=None,):
     self.bolt = bolt
     self.spout = spout
@@ -3017,6 +3110,12 @@ class ExecutorSpecificStats:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.bolt)
+    value = (value * 31) ^ hash(self.spout)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3043,9 +3142,6 @@ class ExecutorStats:
     (3, TType.STRUCT, 'specific', (ExecutorSpecificStats, 
ExecutorSpecificStats.thrift_spec), None, ), # 3
   )
 
-  def __hash__(self):
-    return 0 + hash(self.emitted) + hash(self.transferred) + 
hash(self.specific)
-
   def __init__(self, emitted=None, transferred=None, specific=None,):
     self.emitted = emitted
     self.transferred = transferred
@@ -3063,11 +3159,11 @@ class ExecutorStats:
       if fid == 1:
         if ftype == TType.MAP:
           self.emitted = {}
-          (_ktype225, _vtype226, _size224 ) = iprot.readMapBegin() 
+          (_ktype225, _vtype226, _size224 ) = iprot.readMapBegin()
           for _i228 in xrange(_size224):
             _key229 = iprot.readString().decode('utf-8')
             _val230 = {}
-            (_ktype232, _vtype233, _size231 ) = iprot.readMapBegin() 
+            (_ktype232, _vtype233, _size231 ) = iprot.readMapBegin()
             for _i235 in xrange(_size231):
               _key236 = iprot.readString().decode('utf-8')
               _val237 = iprot.readI64();
@@ -3080,11 +3176,11 @@ class ExecutorStats:
       elif fid == 2:
         if ftype == TType.MAP:
           self.transferred = {}
-          (_ktype239, _vtype240, _size238 ) = iprot.readMapBegin() 
+          (_ktype239, _vtype240, _size238 ) = iprot.readMapBegin()
           for _i242 in xrange(_size238):
             _key243 = iprot.readString().decode('utf-8')
             _val244 = {}
-            (_ktype246, _vtype247, _size245 ) = iprot.readMapBegin() 
+            (_ktype246, _vtype247, _size245 ) = iprot.readMapBegin()
             for _i249 in xrange(_size245):
               _key250 = iprot.readString().decode('utf-8')
               _val251 = iprot.readI64();
@@ -3151,6 +3247,13 @@ class ExecutorStats:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.emitted)
+    value = (value * 31) ^ hash(self.transferred)
+    value = (value * 31) ^ hash(self.specific)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3175,9 +3278,6 @@ class ExecutorInfo:
     (2, TType.I32, 'task_end', None, None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.task_start) + hash(self.task_end)
-
   def __init__(self, task_start=None, task_end=None,):
     self.task_start = task_start
     self.task_end = task_end
@@ -3230,6 +3330,12 @@ class ExecutorInfo:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.task_start)
+    value = (value * 31) ^ hash(self.task_end)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3263,9 +3369,6 @@ class ExecutorSummary:
     (7, TType.STRUCT, 'stats', (ExecutorStats, ExecutorStats.thrift_spec), 
None, ), # 7
   )
 
-  def __hash__(self):
-    return 0 + hash(self.executor_info) + hash(self.component_id) + 
hash(self.host) + hash(self.port) + hash(self.uptime_secs) + hash(self.stats)
-
   def __init__(self, executor_info=None, component_id=None, host=None, 
port=None, uptime_secs=None, stats=None,):
     self.executor_info = executor_info
     self.component_id = component_id
@@ -3366,6 +3469,16 @@ class ExecutorSummary:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.executor_info)
+    value = (value * 31) ^ hash(self.component_id)
+    value = (value * 31) ^ hash(self.host)
+    value = (value * 31) ^ hash(self.port)
+    value = (value * 31) ^ hash(self.uptime_secs)
+    value = (value * 31) ^ hash(self.stats)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -3908,9 +4021,6 @@ class TopologyInfo:
     (514, TType.STRING, 'owner', None, None, ), # 514
   )
 
-  def __hash__(self):
-    return 0 + hash(self.id) + hash(self.name) + hash(self.uptime_secs) + 
hash(self.executors) + hash(self.status) + hash(self.errors) + 
hash(self.sched_status) + hash(self.owner)
-
   def __init__(self, id=None, name=None, uptime_secs=None, executors=None, 
status=None, errors=None, sched_status=None, owner=None,):
     self.id = id
     self.name = name
@@ -3964,7 +4074,7 @@ class TopologyInfo:
       elif fid == 6:
         if ftype == TType.MAP:
           self.errors = {}
-          (_ktype267, _vtype268, _size266 ) = iprot.readMapBegin() 
+          (_ktype267, _vtype268, _size266 ) = iprot.readMapBegin()
           for _i270 in xrange(_size266):
             _key271 = iprot.readString().decode('utf-8')
             _val272 = []
@@ -4059,6 +4169,18 @@ class TopologyInfo:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.id)
+    value = (value * 31) ^ hash(self.name)
+    value = (value * 31) ^ hash(self.uptime_secs)
+    value = (value * 31) ^ hash(self.executors)
+    value = (value * 31) ^ hash(self.status)
+    value = (value * 31) ^ hash(self.errors)
+    value = (value * 31) ^ hash(self.sched_status)
+    value = (value * 31) ^ hash(self.owner)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4081,9 +4203,6 @@ class KillOptions:
     (1, TType.I32, 'wait_secs', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.wait_secs)
-
   def __init__(self, wait_secs=None,):
     self.wait_secs = wait_secs
 
@@ -4122,6 +4241,11 @@ class KillOptions:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.wait_secs)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4148,9 +4272,6 @@ class RebalanceOptions:
     (3, TType.MAP, 'num_executors', (TType.STRING,None,TType.I32,None), None, 
), # 3
   )
 
-  def __hash__(self):
-    return 0 + hash(self.wait_secs) + hash(self.num_workers) + 
hash(self.num_executors)
-
   def __init__(self, wait_secs=None, num_workers=None, num_executors=None,):
     self.wait_secs = wait_secs
     self.num_workers = num_workers
@@ -4178,7 +4299,7 @@ class RebalanceOptions:
       elif fid == 3:
         if ftype == TType.MAP:
           self.num_executors = {}
-          (_ktype284, _vtype285, _size283 ) = iprot.readMapBegin() 
+          (_ktype284, _vtype285, _size283 ) = iprot.readMapBegin()
           for _i287 in xrange(_size283):
             _key288 = iprot.readString().decode('utf-8')
             _val289 = iprot.readI32();
@@ -4219,6 +4340,13 @@ class RebalanceOptions:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.wait_secs)
+    value = (value * 31) ^ hash(self.num_workers)
+    value = (value * 31) ^ hash(self.num_executors)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4241,9 +4369,6 @@ class Credentials:
     (1, TType.MAP, 'creds', (TType.STRING,None,TType.STRING,None), None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.creds)
-
   def __init__(self, creds=None,):
     self.creds = creds
 
@@ -4259,7 +4384,7 @@ class Credentials:
       if fid == 1:
         if ftype == TType.MAP:
           self.creds = {}
-          (_ktype293, _vtype294, _size292 ) = iprot.readMapBegin() 
+          (_ktype293, _vtype294, _size292 ) = iprot.readMapBegin()
           for _i296 in xrange(_size292):
             _key297 = iprot.readString().decode('utf-8')
             _val298 = iprot.readString().decode('utf-8')
@@ -4294,6 +4419,11 @@ class Credentials:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.creds)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4318,9 +4448,6 @@ class SubmitOptions:
     (2, TType.STRUCT, 'creds', (Credentials, Credentials.thrift_spec), None, 
), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.initial_status) + hash(self.creds)
-
   def __init__(self, initial_status=None, creds=None,):
     self.initial_status = initial_status
     self.creds = creds
@@ -4372,6 +4499,12 @@ class SubmitOptions:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.initial_status)
+    value = (value * 31) ^ hash(self.creds)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4396,9 +4529,6 @@ class DRPCRequest:
     (2, TType.STRING, 'request_id', None, None, ), # 2
   )
 
-  def __hash__(self):
-    return 0 + hash(self.func_args) + hash(self.request_id)
-
   def __init__(self, func_args=None, request_id=None,):
     self.func_args = func_args
     self.request_id = request_id
@@ -4451,6 +4581,12 @@ class DRPCRequest:
     return
 
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.func_args)
+    value = (value * 31) ^ hash(self.request_id)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]
@@ -4462,7 +4598,7 @@ class DRPCRequest:
   def __ne__(self, other):
     return not (self == other)
 
-class DRPCExecutionException(Exception):
+class DRPCExecutionException(TException):
   """
   Attributes:
    - msg
@@ -4473,9 +4609,6 @@ class DRPCExecutionException(Exception):
     (1, TType.STRING, 'msg', None, None, ), # 1
   )
 
-  def __hash__(self):
-    return 0 + hash(self.msg)
-
   def __init__(self, msg=None,):
     self.msg = msg
 
@@ -4519,6 +4652,11 @@ class DRPCExecutionException(Exception):
   def __str__(self):
     return repr(self)
 
+  def __hash__(self):
+    value = 17
+    value = (value * 31) ^ hash(self.msg)
+    return value
+
   def __repr__(self):
     L = ['%s=%r' % (key, value)
       for key, value in self.__dict__.iteritems()]

http://git-wip-us.apache.org/repos/asf/storm/blob/ef51dbee/storm-core/test/clj/backtype/storm/security/auth/auth_test.clj
----------------------------------------------------------------------
diff --git a/storm-core/test/clj/backtype/storm/security/auth/auth_test.clj 
b/storm-core/test/clj/backtype/storm/security/auth/auth_test.clj
index 6563730..ce32d78 100644
--- a/storm-core/test/clj/backtype/storm/security/auth/auth_test.clj
+++ b/storm-core/test/clj/backtype/storm/security/auth/auth_test.clj
@@ -167,7 +167,7 @@
                                "java.security.auth.login.config" 
"test/clj/backtype/storm/security/auth/jaas_digest.conf"
                                STORM-NIMBUS-RETRY-TIMES 0})]
         (testing "(Negative authentication) Server: Simple vs. Client: Digest"
-          (is (thrown-cause?  java.net.SocketTimeoutException
+          (is (thrown-cause?  org.apache.thrift.transport.TTransportException
                               (NimbusClient. storm-conf "localhost" a-port 
nimbus-timeout))))))))
   
 (deftest negative-whitelist-authorization-test 
@@ -363,7 +363,7 @@
             client (NimbusClient. storm-conf "localhost" a-port nimbus-timeout)
             nimbus_client (.getClient client)]
         (testing "(Negative authentication) Server: Digest vs. Client: Simple"
-          (is (thrown-cause? java.net.SocketTimeoutException
+          (is (thrown-cause? org.apache.thrift.transport.TTransportException
                              (.activate nimbus_client 
"security_auth_test_topology"))))
         (.close client))
       

Reply via email to