<s> from thrift . Thrift import TType , TMessageType , TException , TApplicationException <EOL> import Status . ttypes <EOL> import Types . ttypes <EOL> from thrift . transport import TTransport <EOL> from thrift . protocol import TBinaryProtocol , TProtocol <EOL> try : <EOL> from thrift . protocol import fastbinary <EOL> except : <EOL> fastbinary = None <EOL> class TExecState ( object ) : <EOL> REGISTERED = <NUM_LIT:0> <EOL> PLANNING = <NUM_LIT:1> <EOL> QUEUED = <NUM_LIT:2> <EOL> RUNNING = <NUM_LIT:3> <EOL> FINISHED = <NUM_LIT:4> <EOL> CANCELLED = <NUM_LIT:5> <EOL> FAILED = <NUM_LIT:6> <EOL> _VALUES_TO_NAMES = { <EOL> <NUM_LIT:0> : "<STR_LIT>" , <EOL> <NUM_LIT:1> : "<STR_LIT>" , <EOL> <NUM_LIT:2> : "<STR_LIT>" , <EOL> <NUM_LIT:3> : "<STR_LIT>" , <EOL> <NUM_LIT:4> : "<STR_LIT>" , <EOL> <NUM_LIT:5> : "<STR_LIT>" , <EOL> <NUM_LIT:6> : "<STR_LIT>" , <EOL> } <EOL> _NAMES_TO_VALUES = { <EOL> "<STR_LIT>" : <NUM_LIT:0> , <EOL> "<STR_LIT>" : <NUM_LIT:1> , <EOL> "<STR_LIT>" : <NUM_LIT:2> , <EOL> "<STR_LIT>" : <NUM_LIT:3> , <EOL> "<STR_LIT>" : <NUM_LIT:4> , <EOL> "<STR_LIT>" : <NUM_LIT:5> , <EOL> "<STR_LIT>" : <NUM_LIT:6> , <EOL> } <EOL> class TExecStats ( object ) : <EOL> """<STR_LIT>""" <EOL> thrift_spec = ( <EOL> None , <EOL> ( <NUM_LIT:1> , TType . I64 , '<STR_LIT>' , None , None , ) , <EOL> ( <NUM_LIT:2> , TType . I64 , '<STR_LIT>' , None , None , ) , <EOL> ( <NUM_LIT:3> , TType . I64 , '<STR_LIT>' , None , None , ) , <EOL> ( <NUM_LIT:4> , TType . I64 , '<STR_LIT>' , None , None , ) , <EOL> ) <EOL> def __init__ ( self , latency_ns = None , cpu_time_ns = None , cardinality = None , memory_used = None , ) : <EOL> self . latency_ns = latency_ns <EOL> self . cpu_time_ns = cpu_time_ns <EOL> self . cardinality = cardinality <EOL> self . memory_used = memory_used <EOL> def read ( self , iprot ) : <EOL> if iprot . __class__ == TBinaryProtocol . TBinaryProtocolAccelerated and isinstance ( iprot . trans , TTransport . CReadableTransport ) and self . thrift_spec is not None and fastbinary is not None : <EOL> fastbinary . decode_binary ( self , iprot . trans , ( self . __class__ , self . thrift_spec ) ) <EOL> return <EOL> iprot . readStructBegin ( ) <EOL> while True : <EOL> ( fname , ftype , fid ) = iprot . readFieldBegin ( ) <EOL> if ftype == TType . STOP : <EOL> break <EOL> if fid == <NUM_LIT:1> : <EOL> if ftype == TType . I64 : <EOL> self . latency_ns = iprot . readI64 ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:2> : <EOL> if ftype == TType . I64 : <EOL> self . cpu_time_ns = iprot . readI64 ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:3> : <EOL> if ftype == TType . I64 : <EOL> self . cardinality = iprot . readI64 ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:4> : <EOL> if ftype == TType . I64 : <EOL> self . memory_used = iprot . readI64 ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> iprot . readFieldEnd ( ) <EOL> iprot . readStructEnd ( ) <EOL> def write ( self , oprot ) : <EOL> if oprot . __class__ == TBinaryProtocol . TBinaryProtocolAccelerated and self . thrift_spec is not None and fastbinary is not None : <EOL> oprot . trans . write ( fastbinary . encode_binary ( self , ( self . __class__ , self . thrift_spec ) ) ) <EOL> return <EOL> oprot . writeStructBegin ( '<STR_LIT>' ) <EOL> if self . latency_ns is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . I64 , <NUM_LIT:1> ) <EOL> oprot . writeI64 ( self . latency_ns ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . cpu_time_ns is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . I64 , <NUM_LIT:2> ) <EOL> oprot . writeI64 ( self . cpu_time_ns ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . cardinality is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . I64 , <NUM_LIT:3> ) <EOL> oprot . writeI64 ( self . cardinality ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . memory_used is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . I64 , <NUM_LIT:4> ) <EOL> oprot . writeI64 ( self . memory_used ) <EOL> oprot . writeFieldEnd ( ) <EOL> oprot . writeFieldStop ( ) <EOL> oprot . writeStructEnd ( ) <EOL> def validate ( self ) : <EOL> return <EOL> def __hash__ ( self ) : <EOL> value = <NUM_LIT> <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . latency_ns ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . cpu_time_ns ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . cardinality ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . memory_used ) <EOL> return value <EOL> def __repr__ ( self ) : <EOL> L = [ '<STR_LIT>' % ( key , value ) <EOL> for key , value in self . __dict__ . iteritems ( ) ] <EOL> return '<STR_LIT>' % ( self . __class__ . __name__ , '<STR_LIT:U+002CU+0020>' . join ( L ) ) <EOL> def __eq__ ( self , other ) : <EOL> return isinstance ( other , self . __class__ ) and self . __dict__ == other . __dict__ <EOL> def __ne__ ( self , other ) : <EOL> return not ( self == other ) <EOL> class TPlanNodeExecSummary ( object ) : <EOL> """<STR_LIT>""" <EOL> thrift_spec = ( <EOL> None , <EOL> ( <NUM_LIT:1> , TType . I32 , '<STR_LIT>' , None , None , ) , <EOL> ( <NUM_LIT:2> , TType . I32 , '<STR_LIT>' , None , None , ) , <EOL> ( <NUM_LIT:3> , TType . STRING , '<STR_LIT:label>' , None , None , ) , <EOL> ( <NUM_LIT:4> , TType . STRING , '<STR_LIT>' , None , None , ) , <EOL> ( <NUM_LIT:5> , TType . I32 , '<STR_LIT>' , None , None , ) , <EOL> ( <NUM_LIT:6> , TType . STRUCT , '<STR_LIT>' , ( TExecStats , TExecStats . thrift_spec ) , None , ) , <EOL> ( <NUM_LIT:7> , TType . LIST , '<STR_LIT>' , ( TType . STRUCT , ( TExecStats , TExecStats . thrift_spec ) ) , None , ) , <EOL> ( <NUM_LIT:8> , TType . LIST , '<STR_LIT>' , ( TType . BOOL , None ) , None , ) , <EOL> ( <NUM_LIT:9> , TType . BOOL , '<STR_LIT>' , None , None , ) , <EOL> ) <EOL> def __init__ ( self , node_id = None , fragment_id = None , label = None , label_detail = None , num_children = None , estimated_stats = None , exec_stats = None , is_active = None , is_broadcast = None , ) : <EOL> self . node_id = node_id <EOL> self . fragment_id = fragment_id <EOL> self . label = label <EOL> self . label_detail = label_detail <EOL> self . num_children = num_children <EOL> self . estimated_stats = estimated_stats <EOL> self . exec_stats = exec_stats <EOL> self . is_active = is_active <EOL> self . is_broadcast = is_broadcast <EOL> def read ( self , iprot ) : <EOL> if iprot . __class__ == TBinaryProtocol . TBinaryProtocolAccelerated and isinstance ( iprot . trans , TTransport . CReadableTransport ) and self . thrift_spec is not None and fastbinary is not None : <EOL> fastbinary . decode_binary ( self , iprot . trans , ( self . __class__ , self . thrift_spec ) ) <EOL> return <EOL> iprot . readStructBegin ( ) <EOL> while True : <EOL> ( fname , ftype , fid ) = iprot . readFieldBegin ( ) <EOL> if ftype == TType . STOP : <EOL> break <EOL> if fid == <NUM_LIT:1> : <EOL> if ftype == TType . I32 : <EOL> self . node_id = iprot . readI32 ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:2> : <EOL> if ftype == TType . I32 : <EOL> self . fragment_id = iprot . readI32 ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:3> : <EOL> if ftype == TType . STRING : <EOL> self . label = iprot . readString ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:4> : <EOL> if ftype == TType . STRING : <EOL> self . label_detail = iprot . readString ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:5> : <EOL> if ftype == TType . I32 : <EOL> self . num_children = iprot . readI32 ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:6> : <EOL> if ftype == TType . STRUCT : <EOL> self . estimated_stats = TExecStats ( ) <EOL> self . estimated_stats . read ( iprot ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:7> : <EOL> if ftype == TType . LIST : <EOL> self . exec_stats = [ ] <EOL> ( _etype3 , _size0 ) = iprot . readListBegin ( ) <EOL> for _i4 in xrange ( _size0 ) : <EOL> _elem5 = TExecStats ( ) <EOL> _elem5 . read ( iprot ) <EOL> self . exec_stats . append ( _elem5 ) <EOL> iprot . readListEnd ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:8> : <EOL> if ftype == TType . LIST : <EOL> self . is_active = [ ] <EOL> ( _etype9 , _size6 ) = iprot . readListBegin ( ) <EOL> for _i10 in xrange ( _size6 ) : <EOL> _elem11 = iprot . readBool ( ) <EOL> self . is_active . append ( _elem11 ) <EOL> iprot . readListEnd ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:9> : <EOL> if ftype == TType . BOOL : <EOL> self . is_broadcast = iprot . readBool ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> iprot . readFieldEnd ( ) <EOL> iprot . readStructEnd ( ) <EOL> def write ( self , oprot ) : <EOL> if oprot . __class__ == TBinaryProtocol . TBinaryProtocolAccelerated and self . thrift_spec is not None and fastbinary is not None : <EOL> oprot . trans . write ( fastbinary . encode_binary ( self , ( self . __class__ , self . thrift_spec ) ) ) <EOL> return <EOL> oprot . writeStructBegin ( '<STR_LIT>' ) <EOL> if self . node_id is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . I32 , <NUM_LIT:1> ) <EOL> oprot . writeI32 ( self . node_id ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . fragment_id is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . I32 , <NUM_LIT:2> ) <EOL> oprot . writeI32 ( self . fragment_id ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . label is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT:label>' , TType . STRING , <NUM_LIT:3> ) <EOL> oprot . writeString ( self . label ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . label_detail is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . STRING , <NUM_LIT:4> ) <EOL> oprot . writeString ( self . label_detail ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . num_children is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . I32 , <NUM_LIT:5> ) <EOL> oprot . writeI32 ( self . num_children ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . estimated_stats is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . STRUCT , <NUM_LIT:6> ) <EOL> self . estimated_stats . write ( oprot ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . exec_stats is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . LIST , <NUM_LIT:7> ) <EOL> oprot . writeListBegin ( TType . STRUCT , len ( self . exec_stats ) ) <EOL> for iter12 in self . exec_stats : <EOL> iter12 . write ( oprot ) <EOL> oprot . writeListEnd ( ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . is_active is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . LIST , <NUM_LIT:8> ) <EOL> oprot . writeListBegin ( TType . BOOL , len ( self . is_active ) ) <EOL> for iter13 in self . is_active : <EOL> oprot . writeBool ( iter13 ) <EOL> oprot . writeListEnd ( ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . is_broadcast is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . BOOL , <NUM_LIT:9> ) <EOL> oprot . writeBool ( self . is_broadcast ) <EOL> oprot . writeFieldEnd ( ) <EOL> oprot . writeFieldStop ( ) <EOL> oprot . writeStructEnd ( ) <EOL> def validate ( self ) : <EOL> if self . node_id is None : <EOL> raise TProtocol . TProtocolException ( message = '<STR_LIT>' ) <EOL> if self . fragment_id is None : <EOL> raise TProtocol . TProtocolException ( message = '<STR_LIT>' ) <EOL> if self . label is None : <EOL> raise TProtocol . TProtocolException ( message = '<STR_LIT>' ) <EOL> if self . num_children is None : <EOL> raise TProtocol . TProtocolException ( message = '<STR_LIT>' ) <EOL> return <EOL> def __hash__ ( self ) : <EOL> value = <NUM_LIT> <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . node_id ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . fragment_id ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . label ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . label_detail ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . num_children ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . estimated_stats ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . exec_stats ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . is_active ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . is_broadcast ) <EOL> return value <EOL> def __repr__ ( self ) : <EOL> L = [ '<STR_LIT>' % ( key , value ) <EOL> for key , value in self . __dict__ . iteritems ( ) ] <EOL> return '<STR_LIT>' % ( self . __class__ . __name__ , '<STR_LIT:U+002CU+0020>' . join ( L ) ) <EOL> def __eq__ ( self , other ) : <EOL> return isinstance ( other , self . __class__ ) and self . __dict__ == other . __dict__ <EOL> def __ne__ ( self , other ) : <EOL> return not ( self == other ) <EOL> class TExecProgress ( object ) : <EOL> """<STR_LIT>""" <EOL> thrift_spec = ( <EOL> None , <EOL> ( <NUM_LIT:1> , TType . I64 , '<STR_LIT>' , None , None , ) , <EOL> ( <NUM_LIT:2> , TType . I64 , '<STR_LIT>' , None , None , ) , <EOL> ) <EOL> def __init__ ( self , total_scan_ranges = None , num_completed_scan_ranges = None , ) : <EOL> self . total_scan_ranges = total_scan_ranges <EOL> self . num_completed_scan_ranges = num_completed_scan_ranges <EOL> def read ( self , iprot ) : <EOL> if iprot . __class__ == TBinaryProtocol . TBinaryProtocolAccelerated and isinstance ( iprot . trans , TTransport . CReadableTransport ) and self . thrift_spec is not None and fastbinary is not None : <EOL> fastbinary . decode_binary ( self , iprot . trans , ( self . __class__ , self . thrift_spec ) ) <EOL> return <EOL> iprot . readStructBegin ( ) <EOL> while True : <EOL> ( fname , ftype , fid ) = iprot . readFieldBegin ( ) <EOL> if ftype == TType . STOP : <EOL> break <EOL> if fid == <NUM_LIT:1> : <EOL> if ftype == TType . I64 : <EOL> self . total_scan_ranges = iprot . readI64 ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:2> : <EOL> if ftype == TType . I64 : <EOL> self . num_completed_scan_ranges = iprot . readI64 ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> iprot . readFieldEnd ( ) <EOL> iprot . readStructEnd ( ) <EOL> def write ( self , oprot ) : <EOL> if oprot . __class__ == TBinaryProtocol . TBinaryProtocolAccelerated and self . thrift_spec is not None and fastbinary is not None : <EOL> oprot . trans . write ( fastbinary . encode_binary ( self , ( self . __class__ , self . thrift_spec ) ) ) <EOL> return <EOL> oprot . writeStructBegin ( '<STR_LIT>' ) <EOL> if self . total_scan_ranges is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . I64 , <NUM_LIT:1> ) <EOL> oprot . writeI64 ( self . total_scan_ranges ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . num_completed_scan_ranges is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . I64 , <NUM_LIT:2> ) <EOL> oprot . writeI64 ( self . num_completed_scan_ranges ) <EOL> oprot . writeFieldEnd ( ) <EOL> oprot . writeFieldStop ( ) <EOL> oprot . writeStructEnd ( ) <EOL> def validate ( self ) : <EOL> return <EOL> def __hash__ ( self ) : <EOL> value = <NUM_LIT> <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . total_scan_ranges ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . num_completed_scan_ranges ) <EOL> return value <EOL> def __repr__ ( self ) : <EOL> L = [ '<STR_LIT>' % ( key , value ) <EOL> for key , value in self . __dict__ . iteritems ( ) ] <EOL> return '<STR_LIT>' % ( self . __class__ . __name__ , '<STR_LIT:U+002CU+0020>' . join ( L ) ) <EOL> def __eq__ ( self , other ) : <EOL> return isinstance ( other , self . __class__ ) and self . __dict__ == other . __dict__ <EOL> def __ne__ ( self , other ) : <EOL> return not ( self == other ) <EOL> class TExecSummary ( object ) : <EOL> """<STR_LIT>""" <EOL> thrift_spec = ( <EOL> None , <EOL> ( <NUM_LIT:1> , TType . I32 , '<STR_LIT:state>' , None , None , ) , <EOL> ( <NUM_LIT:2> , TType . STRUCT , '<STR_LIT:status>' , ( Status . ttypes . TStatus , Status . ttypes . TStatus . thrift_spec ) , None , ) , <EOL> ( <NUM_LIT:3> , TType . LIST , '<STR_LIT>' , ( TType . STRUCT , ( TPlanNodeExecSummary , TPlanNodeExecSummary . thrift_spec ) ) , None , ) , <EOL> ( <NUM_LIT:4> , TType . MAP , '<STR_LIT>' , ( TType . I32 , None , TType . I32 , None ) , None , ) , <EOL> ( <NUM_LIT:5> , TType . LIST , '<STR_LIT>' , ( TType . STRING , None ) , None , ) , <EOL> ( <NUM_LIT:6> , TType . STRUCT , '<STR_LIT>' , ( TExecProgress , TExecProgress . thrift_spec ) , None , ) , <EOL> ) <EOL> def __init__ ( self , state = None , status = None , nodes = None , exch_to_sender_map = None , error_logs = None , progress = None , ) : <EOL> self . state = state <EOL> self . status = status <EOL> self . nodes = nodes <EOL> self . exch_to_sender_map = exch_to_sender_map <EOL> self . error_logs = error_logs <EOL> self . progress = progress <EOL> def read ( self , iprot ) : <EOL> if iprot . __class__ == TBinaryProtocol . TBinaryProtocolAccelerated and isinstance ( iprot . trans , TTransport . CReadableTransport ) and self . thrift_spec is not None and fastbinary is not None : <EOL> fastbinary . decode_binary ( self , iprot . trans , ( self . __class__ , self . thrift_spec ) ) <EOL> return <EOL> iprot . readStructBegin ( ) <EOL> while True : <EOL> ( fname , ftype , fid ) = iprot . readFieldBegin ( ) <EOL> if ftype == TType . STOP : <EOL> break <EOL> if fid == <NUM_LIT:1> : <EOL> if ftype == TType . I32 : <EOL> self . state = iprot . readI32 ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:2> : <EOL> if ftype == TType . STRUCT : <EOL> self . status = Status . ttypes . TStatus ( ) <EOL> self . status . read ( iprot ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:3> : <EOL> if ftype == TType . LIST : <EOL> self . nodes = [ ] <EOL> ( _etype17 , _size14 ) = iprot . readListBegin ( ) <EOL> for _i18 in xrange ( _size14 ) : <EOL> _elem19 = TPlanNodeExecSummary ( ) <EOL> _elem19 . read ( iprot ) <EOL> self . nodes . append ( _elem19 ) <EOL> iprot . readListEnd ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:4> : <EOL> if ftype == TType . MAP : <EOL> self . exch_to_sender_map = { } <EOL> ( _ktype21 , _vtype22 , _size20 ) = iprot . readMapBegin ( ) <EOL> for _i24 in xrange ( _size20 ) : <EOL> _key25 = iprot . readI32 ( ) <EOL> _val26 = iprot . readI32 ( ) <EOL> self . exch_to_sender_map [ _key25 ] = _val26 <EOL> iprot . readMapEnd ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:5> : <EOL> if ftype == TType . LIST : <EOL> self . error_logs = [ ] <EOL> ( _etype30 , _size27 ) = iprot . readListBegin ( ) <EOL> for _i31 in xrange ( _size27 ) : <EOL> _elem32 = iprot . readString ( ) <EOL> self . error_logs . append ( _elem32 ) <EOL> iprot . readListEnd ( ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> elif fid == <NUM_LIT:6> : <EOL> if ftype == TType . STRUCT : <EOL> self . progress = TExecProgress ( ) <EOL> self . progress . read ( iprot ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> else : <EOL> iprot . skip ( ftype ) <EOL> iprot . readFieldEnd ( ) <EOL> iprot . readStructEnd ( ) <EOL> def write ( self , oprot ) : <EOL> if oprot . __class__ == TBinaryProtocol . TBinaryProtocolAccelerated and self . thrift_spec is not None and fastbinary is not None : <EOL> oprot . trans . write ( fastbinary . encode_binary ( self , ( self . __class__ , self . thrift_spec ) ) ) <EOL> return <EOL> oprot . writeStructBegin ( '<STR_LIT>' ) <EOL> if self . state is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT:state>' , TType . I32 , <NUM_LIT:1> ) <EOL> oprot . writeI32 ( self . state ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . status is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT:status>' , TType . STRUCT , <NUM_LIT:2> ) <EOL> self . status . write ( oprot ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . nodes is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . LIST , <NUM_LIT:3> ) <EOL> oprot . writeListBegin ( TType . STRUCT , len ( self . nodes ) ) <EOL> for iter33 in self . nodes : <EOL> iter33 . write ( oprot ) <EOL> oprot . writeListEnd ( ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . exch_to_sender_map is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . MAP , <NUM_LIT:4> ) <EOL> oprot . writeMapBegin ( TType . I32 , TType . I32 , len ( self . exch_to_sender_map ) ) <EOL> for kiter34 , viter35 in self . exch_to_sender_map . items ( ) : <EOL> oprot . writeI32 ( kiter34 ) <EOL> oprot . writeI32 ( viter35 ) <EOL> oprot . writeMapEnd ( ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . error_logs is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . LIST , <NUM_LIT:5> ) <EOL> oprot . writeListBegin ( TType . STRING , len ( self . error_logs ) ) <EOL> for iter36 in self . error_logs : <EOL> oprot . writeString ( iter36 ) <EOL> oprot . writeListEnd ( ) <EOL> oprot . writeFieldEnd ( ) <EOL> if self . progress is not None : <EOL> oprot . writeFieldBegin ( '<STR_LIT>' , TType . STRUCT , <NUM_LIT:6> ) <EOL> self . progress . write ( oprot ) <EOL> oprot . writeFieldEnd ( ) <EOL> oprot . writeFieldStop ( ) <EOL> oprot . writeStructEnd ( ) <EOL> def validate ( self ) : <EOL> if self . state is None : <EOL> raise TProtocol . TProtocolException ( message = '<STR_LIT>' ) <EOL> return <EOL> def __hash__ ( self ) : <EOL> value = <NUM_LIT> <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . state ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . status ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . nodes ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . exch_to_sender_map ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . error_logs ) <EOL> value = ( value * <NUM_LIT> ) ^ hash ( self . progress ) <EOL> return value <EOL> def __repr__ ( self ) : <EOL> L = [ '<STR_LIT>' % ( key , value ) <EOL> for key , value in self . __dict__ . iteritems ( ) ] <EOL> return '<STR_LIT>' % ( self . __class__ . __name__ , '<STR_LIT:U+002CU+0020>' . join ( L ) ) <EOL> def __eq__ ( self , other ) : <EOL> return isinstance ( other , self . __class__ ) and self . __dict__ == other . __dict__ <EOL> def __ne__ ( self , other ) : <EOL> return not ( self == other ) </s>
