Milan Patel created BEAM-13939:
----------------------------------
Summary: Go SDK: Protobuf namespace conflict
Key: BEAM-13939
URL: https://issues.apache.org/jira/browse/BEAM-13939
Project: Beam
Issue Type: Improvement
Components: beam-model
Affects Versions: 2.36.0
Reporter: Milan Patel
The Go SDK generated grpc protobufs are not namespaced with enough granularity.
If a user has another external dependency with the same protobuf file
registered with the proto runtime, their compiled binary will panic at runtime
pointing the user to this [doc
page|https://developers.google.com/protocol-buffers/docs/reference/go/faq#fix-namespace-conflict].
In the interim, following the instructions to add either ldflags to the
compiler or an environment var to the binary works, but this is an unideal
solution since only one of the duplicate proto specifications will be
accessible from a [global
registry|https://pkg.go.dev/google.golang.org/[email protected]/reflect/protoregistry].
Ask: Regenerate the go protos such that descriptors like
[these|https://github.com/apache/beam/blob/84353a7c973d3acaaa56d81c265dce7193a56be5/sdks/go/pkg/beam/model/pipeline_v1/metrics.pb.go#L797-L811]
are outputted with filenames that are more granular, such as a filename that
includes the directory structure of the repository.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)