James M created THRIFT-4215: ------------------------------- Summary: Golang TTransportFactory Pattern Squelches Errors Key: THRIFT-4215 URL: https://issues.apache.org/jira/browse/THRIFT-4215 Project: Thrift Issue Type: Bug Components: Go - Library Affects Versions: 0.10.0 Reporter: James M
The current (as of 72ca60d) pattern for [TTransport factories|https://github.com/apache/thrift/blob/master/lib/go/thrift/transport_factory.go#L26] in Golang is {code} type TTransportFactory interface { GetTransport(trans TTransport) TTransport } {code} This causes issues, because some {{TTransportFactory}} implementations can return and error. Consider the [THttpClientTransportFactory|https://github.com/apache/thrift/blob/master/lib/go/thrift/http_client.go#L52], which as of of 72ca60d, includes the following snippet: {code} s, _ := NewTHttpClientWithOptions(p.url, p.options) return s {code} The call to {{NewTHttpClientWithOptions(...)}} call can throw errors. The resultant behavior is that {{nil}} is returned in place of a valid {{TTransport}}, with a {{nil}} error. The {{TTransportFactory}} interface (and associated use patterns) should be extended to include errors. -- This message was sent by Atlassian JIRA (v6.3.15#6346)