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 06:25:00 UTC
[jira] [Updated] (THRIFT-5191) When writing an irregular string,
TZlibTransport cannot read cerrectlly the same length of strings
[ https://issues.apache.org/jira/browse/THRIFT-5191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zezeng Wang updated THRIFT-5191:
--------------------------------
Summary: When writing an irregular string, TZlibTransport cannot read cerrectlly the same length of strings (was: When writing an irregular string, TZlibTransport cannot read strings of the same length)
> When writing an irregular string, TZlibTransport cannot read cerrectlly the same length of strings
> ---------------------------------------------------------------------------------------------------
>
> 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
> Priority: Minor
>
> When writing an irregular string, TZlibTransport cannot read strings of the same length.
> 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 = 'abcefg'
> 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:
> Irregular string:
> write data:abcefg
> write data len :7
> read data:b'abcd'
> read data len:4
> regular string:
> write data:abcefgabcefg
> write data len :14
> read data:b'abcefgabcefg'
> read data len:14
--
This message was sent by Atlassian Jira
(v8.3.4#803005)