[
https://issues.apache.org/jira/browse/BEAM-13939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17496396#comment-17496396
]
Robert Burke commented on BEAM-13939:
-------------------------------------
Ah! It was the protos that were wrong. That's a different kind of relief.
I have specific comments, but I can't do that unless the PR is actually drafted
rather than just as a "diff". I strongly recommend never setting a GOPATH
anymore. They're obselete. In this case we want to live in the Go Modules
present.
My only real concern is whether the change will break "all of Java", and "all
of Python". By the change, it looks like Go is probably fine.
> 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, sdk-go
> Affects Versions: 2.36.0
> Reporter: Milan Patel
> Priority: P2
> Labels: easyfix
> Attachments: demobug.zip
>
>
> 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)