[
https://issues.apache.org/jira/browse/THRIFT-4215?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16038770#comment-16038770
]
ASF GitHub Bot commented on THRIFT-4215:
----------------------------------------
Github user peterbourgon commented on the issue:
https://github.com/apache/thrift/pull/1285
For the record, this caused build failures in Go kit; I don't imagine my
usage is particularly strange, but maybe it is.
([Link](https://github.com/go-kit/kit/commit/4d3c82de4829f7c3752cf66d00d6ecdf913a18f3).)
> 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 Mouradian
> Assignee: Can Celasun
> Fix For: 0.11.0
>
>
> 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)