[
https://issues.apache.org/jira/browse/THRIFT-5353?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yuxuan Wang resolved THRIFT-5353.
---------------------------------
Resolution: Fixed
> Namespace from type is ignored in generated code
> ------------------------------------------------
>
> Key: THRIFT-5353
> URL: https://issues.apache.org/jira/browse/THRIFT-5353
> Project: Thrift
> Issue Type: Bug
> Components: Go - Compiler
> Affects Versions: 0.14.0
> Reporter: Juraci Paixão Kröhling
> Assignee: Yuxuan Wang
> Priority: Critical
> Fix For: 0.15.0, 0.14.1
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> When using the Go compiler 0.14 with the Thrift spec below, the generated
> function does not use the namespace, causing compilation issues.
>
> {code}
> include "jaeger.thrift"
> include "zipkincore.thrift"
> namespace cpp jaegertracing.agent.thrift
> namespace java io.jaegertracing.agent.thrift
> namespace php Jaeger.Thrift.Agent
> namespace netstd Jaeger.Thrift.Agent
> namespace lua jaeger.thrift.agent
> service Agent {
> oneway void emitZipkinBatch(1: list<zipkincore.Span> spans)
> oneway void emitBatch(1: jaeger.Batch batch)
> }
> {code}
> Here's an excerpt of the generated Go code for this service:
> {code}
> // Code generated by Thrift Compiler (0.14.0). DO NOT EDIT.
> package agent
> import(
> "bytes"
> "context"
> "fmt"
> "time"
> "github.com/apache/thrift/lib/go/thrift"
> "github.com/jaegertracing/jaeger/thrift-gen/jaeger"
> )
> // (needed to ensure safety because of naive import list construction.)
> var _ = thrift.ZERO
> var _ = fmt.Printf
> var _ = context.Background
> var _ = time.Now
> var _ = bytes.Equal
> var _ = jaeger.GoUnusedProtection__
> type Agent interface {
> // Parameters:
> // - Spans
> EmitZipkinBatch(ctx context.Context, spans []*Span) (err error)
> // Parameters:
> // - Batch
> EmitBatch(ctx context.Context, batch *jaeger.Batch) (err error)
> }
> {code}
> In previous versions like 0.13, this is how the generated code looks like:
> {code}
> // Autogenerated by Thrift Compiler (0.13.0)
> // DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
> package agent
> import(
> "bytes"
> "context"
> "reflect"
> "fmt"
> "github.com/apache/thrift/lib/go/thrift"
> "github.com/jaegertracing/jaeger/thrift-gen/jaeger"
> "github.com/jaegertracing/jaeger/thrift-gen/zipkincore"
> )
> // (needed to ensure safety because of naive import list construction.)
> var _ = thrift.ZERO
> var _ = fmt.Printf
> var _ = context.Background
> var _ = reflect.DeepEqual
> var _ = bytes.Equal
> var _ = jaeger.GoUnusedProtection__
> var _ = zipkincore.GoUnusedProtection__
> type Agent interface {
> // Parameters:
> // - Spans
> EmitZipkinBatch(ctx context.Context, spans []*zipkincore.Span) (err error)
> // Parameters:
> // - Batch
> EmitBatch(ctx context.Context, batch *jaeger.Batch) (err error)
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)