Hello:
(Apologies. The first send of this email formatted poorly and wasn't
very readable. Resent).
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 compile output into
"/opt/STORM.d/latest/THRIFT.d/storm-0.9-python-thrift.d"
The resulting thrift interface works more or less, but I've run into two
fatal 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)" don'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 interaction 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
returns "TypeError: unhashable instance"
Does anyone know what might be happening here?
Thank you in advance (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
#
=============================================================================