You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Zezeng Wang (Jira)" <ji...@apache.org> on 2020/04/30 03:30:00 UTC
[jira] [Created] (THRIFT-5191) TZlibTransport cannot read strings
of the same length when writing a string of length less than 3
Zezeng Wang created THRIFT-5191:
-----------------------------------
Summary: TZlibTransport cannot read strings of the same length when writing a string of length less than 3
Key: THRIFT-5191
URL: https://issues.apache.org/jira/browse/THRIFT-5191
Project: Thrift
Issue Type: Bug
Components: Python - Library
Affects Versions: 0.13.0
Environment: Environment : Ubuntu 18.04.4
version : 0.13.0
Reporter: Zezeng Wang
TZlibTransport cannot read strings of the same length when writing a string of length less than 3.
this may be a bug.
example:
import _import_local_thrift
from thrift.transport import TTransport
from thrift.transport import TZlibTransport
if __name__ == '__main__':
buff = TTransport.TMemoryBuffer()
trans = TTransport.TBufferedTransportFactory().getTransport(buff)
zlib_trans = TZlibTransport.TZlibTransport(trans)
data = 'aaa'
zlib_trans.write(data.encode('utf-8'))
zlib_trans.flush()
value = buff.getvalue()
buff = TTransport.TMemoryBuffer(value)
trans = TTransport.TBufferedTransportFactory().getTransport(buff)
zlib_trans = TZlibTransport.TZlibTransport(trans)
data_r = zlib_trans.read(len(data))
print("write data:{}".format(data))
print("write data len :{}".format(len(data)))
print("read data:{}".format(data_r))
print("read data len:{}".format(len(data_r)))
test result:
len <3:
write data:aa
write data len :2
read data:b'a'
read data len:1
len>3:
write data:aaa
write data len :3
read data:b'aaa'
read data len:3
--
This message was sent by Atlassian Jira
(v8.3.4#803005)