Ruel Rutaquio created THRIFT-5357: ------------------------------------- Summary: CLONE - Namespace from type is ignored in generated code Key: THRIFT-5357 URL: https://issues.apache.org/jira/browse/THRIFT-5357 Project: Thrift Issue Type: Bug Components: Go - Compiler Affects Versions: 0.14.0 Reporter: Ruel Rutaquio Assignee: Yuxuan Wang Fix For: 0.15.0
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)