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)