[
https://issues.apache.org/jira/browse/THRIFT-4260?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Geyer resolved THRIFT-4260.
--------------------------------
Resolution: Fixed
Fix Version/s: 0.11.0
Commited, thanks!
> Go context generation issue. Context is parameter in Interface not in
> implementation
> ------------------------------------------------------------------------------------
>
> Key: THRIFT-4260
> URL: https://issues.apache.org/jira/browse/THRIFT-4260
> Project: Thrift
> Issue Type: Bug
> Components: Go - Compiler
> Affects Versions: 0.11.0
> Reporter: Bas van Beek
> Assignee: taozle
> Priority: Blocker
> Fix For: 0.11.0
>
>
> Unfortunately the Go library was updated before a new Compiler was released.
> Having thrift compiled code be part in a project prior to the thrift context
> library addition breaks due to the dependency on the thrift go library. See:
> https://github.com/openzipkin/zipkin-go-opentracing/issues/68
> I tried to resolve be installing compiler from latest source but found the
> generated source to be incorrect. The generated Go interface for the service
> client includes context.Context as the first parameter of the service method.
> The generated client implementation however does not.
> The following thrift code:
> {code:none}
> enum ResultCode
> {
> OK,
> TRY_LATER
> }
> struct LogEntry
> {
> 1: string category,
> 2: string message
> }
> service Scribe
> {
> ResultCode Log(1: list<LogEntry> messages);
> }
> {code}
> Generated the following Go code:
> {code:none}
> type Scribe interface {
> // Parameters:
> // - Messages
> Log(ctx context.Context, messages []*LogEntry) (r ResultCode, err error)
> }
> ...
> // Parameters:
> // - Messages
> func (p *ScribeClient) Log(messages []*LogEntry) (r ResultCode, err error) {
> if err = p.sendLog(messages); err != nil {
> return
> }
> return p.recvLog()
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)