apache / apache/iotdb

python客户端偶尔报错TTransportException

Open
#3,146 2 comments 4 reactions 0 assignees View on GitHub
Module - Python Client
Dominant language
Java
Stars
6.4k
Forks
1.2k
Avg merge
1d 23h
Merged PRs (30d)
115

Description

运行中偶尔出现这个错误,报错堆栈信息如下:
2021-05-08 10:39:59,082 - 12348-ThreadPoolExecutor-34_2 - .\base\abstract_processor.py[line:80] - ERROR: ('Could not set time zone because: ', TTransportException('Transport not open'))
Traceback (most recent call last):
File "E:\python\python-3.7.9\Lib\site-packages\iotdb\Session.py", line 729, in set_time_zone
status = self.__client.setTimeZone(request)
File "E:\python\python-3.7.9\Lib\site-packages\iotdb\thrift\rpc\TSIService.py", line 666, in setTimeZone
self.send_setTimeZone(req)
File "E:\python\python-3.7.9\Lib\site-packages\iotdb\thrift\rpc\TSIService.py", line 675, in send_setTimeZone
self._oprot.trans.flush()
File "E:\python\python-3.7.9\Lib\site-packages\thrift\transport\TTransport.py", line 304, in flush
self.__trans.write(buf)
File "E:\python\python-3.7.9\Lib\site-packages\thrift\transport\TSocket.py", line 149, in write
message='Transport not open')
thrift.transport.TTransport.TTransportException: Transport not open

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\thread.py", line 57, in run
File ".\base\abstract_processor.py", line 73, in _job
result_data = self.process(data, time)
File ".\temp_stability_processor.py", line 16, in process
collecton_list = self.get_meter_collection(data['cust_id'], data['id'])
File ".\base\abstract_processor.py", line 57, in get_meter_collection
collecton_list = self._iotdb.query(sql, (self._tenant_id, cust_id, meter_id))
File ".\db\iot_db.py", line 29, in query
session = self.get_db()
File ".\db\iot_db.py", line 22, in get_db
session.open(False)
File "E:\python\python-3.7.9\Lib\site-packages\iotdb\Session.py", line 134, in open
self.set_time_zone(self.__zone_id)
File "E:\python\python-3.7.9\Lib\site-packages\iotdb\Session.py", line 736, in set_time_zone
raise RuntimeError("Could not set time zone because: ", e)
RuntimeError: ('Could not set time zone because: ', TTransportException('Transport not open'))

版本信息:
客户端apache-iotdb==0.12.0,服务端0.12.1

Contributor guide

Open the contributing guide

Research direction

Start with the Python client's Session.py open and set_time_zone methods, then trace the application calls through iot_db.py get_db and query. Reproduce the intermittent Transport not open error using client 0.12.0 with server 0.12.1 and determine whether the failure is tied to connection handling or the version mismatch; done means the cause and a verified fix or regression coverage are identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.