[
https://issues.apache.org/jira/browse/BEAM-13939?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17497758#comment-17497758
]
Milan Patel commented on BEAM-13939:
------------------------------------
Hey [~lostluck] thanks for the ping! Yea the intent is definitely that we want
to make sure that all SDKs work on the new model, the current state of affairs
is
# I am hoping to lean into the existing gradle tasks to help validate that
things still work for java
# Python is going to need some rework to support arbitrary directory
structures since the existing solution assumed that everything will get
outputted to the same directory. This includes updates to imports in the urn
files and updates to enable arbitrary relative imports.
My personal style is usually not to open the PR till it's in a state that works
and reviewable, i.e. I typically don't open PR's with code that's still
technically 'broken'. I'm curious how y'all do things in this project, is it
actually better to open the PR, even if it's not completely working to get
early feedback? Not sure how to go about this, but hoping to get your guidance!
> 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)