【问题标题】:thrift with tornado example server raise Exceptionthrift with tornado 示例服务器引发异常
【发布时间】:2016-04-08 10:36:05
【问题描述】:

我正在运行官方 thrift py:tornado 演示,客户端关闭传输后引发异常。

示例:https://github.com/apache/thrift/tree/master/tutorial/py.tornado

Starting the server...
ping()
add(1, 1)
zip()
zip()
calculate(1, Work(comment=None, num1=1, num2=0, op=4))
calculate(1, Work(comment=None, num1=15, num2=10, op=2))
getStruct(1)
ERROR:thrift.TTornado:thrift exception in handle_stream
Traceback (most recent call last):
  File "/Users/user/venv/py27/lib/python2.7/site-packages/thrift/TTornado.py", line 174, in handle_stream
    frame = yield trans.readFrame()
  File "/Users/user/venv/py27/lib/python2.7/site-packages/tornado/gen.py", line 1008, in run
    value = future.result()
  File "/Users/user/venv/py27/lib/python2.7/site-packages/tornado/concurrent.py", line 232, in result
    raise_exc_info(self._exc_info)
  File "/Users/user/venv/py27/lib/python2.7/site-packages/tornado/gen.py", line 1014, in run
    yielded = self.gen.throw(*exc_info)
  File "/Users/user/venv/py27/lib/python2.7/site-packages/thrift/TTornado.py", line 141, in readFrame
    raise gen.Return(frame)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py", line 35, in __exit__
    self.gen.throw(type, value, traceback)
  File "/Users/user/venv/py27/lib/python2.7/site-packages/thrift/TTornado.py", line 125, in io_exception_context
    message=str(e))
TTransportException: Stream is closed

有什么方法可以避免这个错误消息或如何捕捉它?

【问题讨论】:

    标签: python python-2.7 tornado thrift


    【解决方案1】:

    很多原因会导致StreamClosedError

    1. 检查thrift服务器端,可能会引发异常。
    2. 经过测试,我发现thrift THttpServer 无法提供Tornado 客户端流。
    3. 当我将我的 tornado 版本从 4.4.3 升级到 4.5 时,StreamClosedError 消失了。

    客户端 Thrift 版本:0.10.0

    龙卷风版本:4.5

    客户端 Python 版本:3.5.2

    系统版本:Ubuntu 16.04

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 2010-10-19
      相关资源
      最近更新 更多