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

Milan Patel commented on BEAM-13939:
------------------------------------

I attached a demo repository showing the issue. In that situation it's easy to 
simply rename the proto file, but users shouldn't have to do this and is likely 
very hard if this issue happens between two external deps that users may not 
have control over.

 

Happy to drive this home if folks agree that this issue should be fixed

> 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
>            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)

Reply via email to