Hello:
I downloaded the latest Storm source yesterday (v0.9) and compiled
python thrift bindings with it,
like so:
/usr/bin/thrift --gen py storm.thrift
/I installed the output
into//"///opt/STORM.d/latest/THRIFT.d/storm-0.9-python-thrift.d"/
The resulting interface works more or less, but I've run into two things
variously while coding/testing
throughout the day (from within an IDE and also from within an
interactive bpython session):
(1) Every other call to "*client.getTopologyInfo(id)* /
*client.getTopology(id)*" hangs and I have to
"*Ctrl-C*" and re-issue it. And it's literally 50%/50%:
It-Hangs / Doesn't-Hang / It-Hangs / Doesn't-Hang / ... (etc.).
(2) Next, for the 50% of the time where calls to
"*client.getTopologyInfo(id)* / *client.getTopology(id)*"
doesn't result in a hang, I'm getting 2 different types of exceptions:
a) TypeError: unhashable instance
b) unknown result
Below is a tabular paste of the typical sequence (using
*/client./**getTopologyInfo(id)* here).
I also want to note that the issue became worse after pushing data
through the previously
idle topology (and perhaps this altered elements of underlying data
structures). Before
that*/client./**getTopologyInfo(id)* was working. Finally, I should also
mention that
/*client.getUserTopology(id)*/ (not mentioned previously), has never
worked. It always
returnes "TypeError: unhashable instance"
Does anyone know what might be happening here?
Thank you in advance (and see below).
>>> *client.getTopologyInfo('run01-2-1392747346')*
Traceback (most recent call last):
File "<input>", line 1, in <module>
File
"/opt/STORM.d/latest/THRIFT.d/storm-0.9-python-thrift.d/storm/Nimbus.py", line
586, in getTopologyInfo
return self.recv_getTopologyInfo()
File
"/opt/STORM.d/latest/THRIFT.d/storm-0.9-python-thrift.d/storm/Nimbus.py", line
610, in recv_getTopologyInfo
raise TApplicationException(TApplicationException.MISSING_RESULT,
"getTopologyInfo failed: unknown result");
TApplicationException: getTopologyInfo failed: unknown result
>>>
>>>
*
*
>>> *client.getTopologyInfo('run01-2-1392747346')
*>>> ctrl-C (because it hung)*
*
*
*
*>>> client.getTopologyInfo('run01-2-1392747346')*
Traceback (most recent call last):
File "<input>", line 1, in <module>
File
"/opt/STORM.d/latest/THRIFT.d/storm-0.9-python-thrift.d/storm/Nimbus.py", line
586, in getTopologyInfo
return self.recv_getTopologyInfo()
File
"/opt/STORM.d/latest/THRIFT.d/storm-0.9-python-thrift.d/storm/Nimbus.py", line
604, in recv_getTopologyInfo
result.read(self._iprot)
File
"/opt/STORM.d/latest/THRIFT.d/storm-0.9-python-thrift.d/storm/Nimbus.py", line
2832, in read
self.success.read(iprot)
File
"/opt/STORM.d/latest/THRIFT.d/storm-0.9-python-thrift.d/storm/ttypes.py", line
2726, in read
_elem265.read(iprot)
File
"/opt/STORM.d/latest/THRIFT.d/storm-0.9-python-thrift.d/storm/ttypes.py", line
2602, in read
self.stats.read(iprot)
File
"/opt/STORM.d/latest/THRIFT.d/storm-0.9-python-thrift.d/storm/ttypes.py", line
2393, in read
self.specific.read(iprot)
File
"/opt/STORM.d/latest/THRIFT.d/storm-0.9-python-thrift.d/storm/ttypes.py", line
2282, in read
self.bolt.read(iprot)
File
"/opt/STORM.d/latest/THRIFT.d/storm-0.9-python-thrift.d/storm/ttypes.py", line
1927, in read
_val86[_key92] = _val93
TypeError: unhashable instance