You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by dc...@apache.org on 2020/06/18 21:09:43 UTC
[thrift] branch master updated (8b8633e -> bcae3bb)
This is an automated email from the ASF dual-hosted git repository.
dcelasun pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/thrift.git.
from 8b8633e THRIFT-5221: Fix stack overflow when reading buffer Client: c_glib Patch: wangyunjian
add e79f764 THRIFT-5233: Handle I/O timeouts in go library
new bcae3bb THRIFT-5233: Handle I/O timeouts in go library (#2181)
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
CHANGES.md | 2 +
compiler/cpp/src/thrift/generate/t_go_generator.cc | 140 ++++-----
lib/go/test/tests/client_error_test.go | 246 +++++++--------
lib/go/test/tests/optional_fields_test.go | 79 ++---
lib/go/test/tests/protocol_mock.go | 336 ++++++++++-----------
lib/go/test/tests/required_fields_test.go | 46 +--
lib/go/thrift/application_exception.go | 48 +--
lib/go/thrift/binary_protocol.go | 185 ++++++------
lib/go/thrift/client.go | 20 +-
lib/go/thrift/compact_protocol.go | 117 +++----
lib/go/thrift/debug_protocol.go | 168 +++++------
lib/go/thrift/deserializer.go | 17 +-
lib/go/thrift/header_protocol.go | 184 +++++------
lib/go/thrift/header_transport.go | 39 ++-
lib/go/thrift/header_transport_test.go | 6 +-
lib/go/thrift/json_protocol.go | 158 +++++-----
lib/go/thrift/json_protocol_test.go | 62 ++--
lib/go/thrift/multiplexed_protocol.go | 10 +-
lib/go/thrift/protocol.go | 134 ++++----
lib/go/thrift/protocol_test.go | 82 ++---
lib/go/thrift/serializer.go | 8 +-
lib/go/thrift/serializer_test.go | 10 +-
lib/go/thrift/serializer_types_test.go | 241 +++++++--------
lib/go/thrift/simple_json_protocol.go | 147 ++++-----
lib/go/thrift/simple_json_protocol_test.go | 66 ++--
lib/go/thrift/simple_server.go | 2 +-
lib/go/thrift/transport_exception.go | 14 +
lib/go/thrift/transport_exception_test.go | 31 +-
28 files changed, 1342 insertions(+), 1256 deletions(-)
[thrift] 01/01: THRIFT-5233: Handle I/O timeouts in go library
(#2181)
Posted by dc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
dcelasun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/thrift.git
commit bcae3bb52f976ce245ad77dfb060e5776d67ce85
Merge: 8b8633e e79f764
Author: Duru Can Celasun <dc...@apache.org>
AuthorDate: Thu Jun 18 22:09:33 2020 +0100
THRIFT-5233: Handle I/O timeouts in go library (#2181)
Client: go
As discussed in the JIRA ticket, this commit changes how we handle I/O
timeouts in the go library.
This is a breaking change that adds context to all Read*, Write*, and
Skip functions to TProtocol, along with the compiler change to support
that, and also adds context to TStandardClient.Recv, TDeserializer,
TStruct, and a few others.
Along with the function signature changes, this commit also implements
context cancellation check in the following TProtocol's ReadMessageBegin
implementations:
- TBinaryProtocol
- TCompactProtocol
- THeaderProtocol
In those ReadMessageBegin implementations, if the passed in context
object has a deadline attached, it will keep retrying the I/O timeout
errors, until the deadline on the context object passed. They won't
retry I/O timeout errors if the passed in context does not have a
deadline attached (still return on the first error).
CHANGES.md | 2 +
compiler/cpp/src/thrift/generate/t_go_generator.cc | 140 ++++-----
lib/go/test/tests/client_error_test.go | 246 +++++++--------
lib/go/test/tests/optional_fields_test.go | 79 ++---
lib/go/test/tests/protocol_mock.go | 336 ++++++++++-----------
lib/go/test/tests/required_fields_test.go | 46 +--
lib/go/thrift/application_exception.go | 48 +--
lib/go/thrift/binary_protocol.go | 185 ++++++------
lib/go/thrift/client.go | 20 +-
lib/go/thrift/compact_protocol.go | 117 +++----
lib/go/thrift/debug_protocol.go | 168 +++++------
lib/go/thrift/deserializer.go | 17 +-
lib/go/thrift/header_protocol.go | 184 +++++------
lib/go/thrift/header_transport.go | 39 ++-
lib/go/thrift/header_transport_test.go | 6 +-
lib/go/thrift/json_protocol.go | 158 +++++-----
lib/go/thrift/json_protocol_test.go | 62 ++--
lib/go/thrift/multiplexed_protocol.go | 10 +-
lib/go/thrift/protocol.go | 134 ++++----
lib/go/thrift/protocol_test.go | 82 ++---
lib/go/thrift/serializer.go | 8 +-
lib/go/thrift/serializer_test.go | 10 +-
lib/go/thrift/serializer_types_test.go | 241 +++++++--------
lib/go/thrift/simple_json_protocol.go | 147 ++++-----
lib/go/thrift/simple_json_protocol_test.go | 66 ++--
lib/go/thrift/simple_server.go | 2 +-
lib/go/thrift/transport_exception.go | 14 +
lib/go/thrift/transport_exception_test.go | 31 +-
28 files changed, 1342 insertions(+), 1256 deletions(-)