thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jens Geyer (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (THRIFT-4261) Go context generation issue: breaking change in generated code regarding thrift.TProcessorFunction interface
Date Tue, 25 Jul 2017 21:37:00 GMT

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

Jens Geyer commented on THRIFT-4261:
------------------------------------

The 0.11 release is more or less scheduled. I don't have an exact time frame, maybe [~jfarrell]
can add more details.

{quote}I understand you expect that we should use the same version of compiler and library
for the same repository. But this is super hard in reality ...{quote}

Ok, let's put the rubber on the road: What are the viable options we have? What exactly would
you propose?


> Go context generation issue: breaking change in generated code regarding thrift.TProcessorFunction
interface
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: THRIFT-4261
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4261
>             Project: Thrift
>          Issue Type: Bug
>         Environment: generated code for Golang
>            Reporter: Yicheng Qin
>
> I observe the breaking change in `thrift.TProcessorFunction` interface that adds a `Context`
parameter, and corresponded breaking change in the generated client code.
> So the generated code from v0.9 thrift compiler can no longer run with the master thrift
library.
> I understand you expect that we should use the same version of compiler and library for
the same repository. But this is super hard in reality:
> 1. Lots of repos store the generated code, e.g., https://github.com/uber/jaeger-client-go/blob/master/thrift-gen/jaeger/agent.go
. So it could use either old interface or new interface.
> 2. Go projects always use `glide` as version management, which uses single version for
one library across the repository. If one dep relies on old interface, and one dep relies
on new interface, the project will totally break.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message