thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (THRIFT-4215) Golang TTransportFactory Pattern Squelches Errors
Date Fri, 02 Jun 2017 15:00:07 GMT

    [ https://issues.apache.org/jira/browse/THRIFT-4215?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16034821#comment-16034821
] 

ASF GitHub Bot commented on THRIFT-4215:
----------------------------------------

GitHub user dcelasun opened a pull request:

    https://github.com/apache/thrift/pull/1286

    THRIFT-4215 Make transport factories return errors

    This commit changes the signature of `TTransportFactory.GetTransport` from
    ```go
    GetTransport(trans TTransport) TTransport
    ```
    to
    ```go
    GetTransport(trans TTransport) (TTransport, error)
    ```
    so the factory can pass any underlying error to the caller (previously such errors were
ignored).
    
    This is a backwards incompatible change for anyone implementing custom transports, but
it shouldn't effect anyone using the ones in this library.
    
    Fixes [THRIFT-4215](https://issues.apache.org/jira/browse/THRIFT-4215).
    
    Fixes [THRIFT-4216](https://issues.apache.org/jira/browse/THRIFT-4216).
    
    P.S: Some files have formatting-only changes due to `gofmt`.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/dcelasun/thrift THRIFT-4215

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/thrift/pull/1286.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1286
    
----
commit e66dbded3a57df8be17c678956abc305345305fc
Author: D. Can Celasun <can@dcc.im>
Date:   2017-06-02T12:33:32Z

    THRIFT-4215 Make transport factories return errors
    
    This commit changes the signature of TTransportFactory.GetTransport
    from
    
      GetTransport(trans TTransport) TTransport
    
    to
    
      GetTransport(trans TTransport) (TTransport, error)
    
    so the factory can pass any underlying error to the caller (previously
    such errors were ignored).
    
    This is a backwards incompatible change for anyone implementing custom
    transports, but it shouldn't effect anyone using the ones in this
    library.
    
    Fixes THRIFT-4215.
    
    Fixes THRIFT-4216.

----


> 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
>
> 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)

Mime
View raw message