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

Yuxuan Wang commented on THRIFT-5353:
-------------------------------------

Are you talking about that the included zipkincore.thrift is no longer imported 
by the go code? You also imported jaeger.thrift and I see that is still 
imported by 0.14.0 generated go code. We also have thrift files importing 
multiple other thrift files without an issue. Do you have a full example (with 
all the imported files) that can be used to reproduce this issue?

> 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
>            Reporter: Juraci Paixão Kröhling
>            Priority: Critical
>
> 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)

Reply via email to