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)

Reply via email to