Skip to content

[Bug]: org.apache.beam.sdk.util.construction.BeamUrns.getUrn fails when trying to parse Protobuf messages #34625

@dasphillipbrau

Description

@dasphillipbrau

What happened?

Hello.
We're using Scala 2.13.7
We have a set of PTransforms that

  1. Creates a KafkaInputStream to read from a topic via KafkaIORead
  2. reads serialized protobuf messages from said topic
  3. deserializes the messages and instantiate them as case classes.

We recently decided to upgrade beam from 2.57.0 to 2.64.0, no other code changes were done. After doing so, the pipeline started crashing with the error message

java.lang.NoSuchMethodError: 'java.lang.String org.apache.beam.sdk.util.construction.BeamUrns.getUrn(org.apache.beam.vendor.grpc.v1p60p1.com.google.protobuf.ProtocolMessageEnum)'

After checking the Beam source code in the aforementioned class, I found this PR where the version of this GRPC dependency was updated. This change was first included in Beam v2.63.0

The version of this GRPC dependency went from 1.60.1 to 1.69.0. I thought the issue was due to a mismatch between this GRPC dependency in Beam and in our repository, so I updated the one in our repo (which was 1.60.1) to 1.69.0. The issue unfortunately persisted.
Upon downgrading to 2.62.0, however, everything works as expected.

There was a Protobuf issue reported with 2.63.0 and 2.64.0, however, no mention of a similar issue to this one, but I do think they're related

Issue Priority

Priority: 2 (default / most bugs should be filed as P2)

Issue Components

  • Component: Python SDK
  • Component: Java SDK
  • Component: Go SDK
  • Component: Typescript SDK
  • Component: IO connector
  • Component: Beam YAML
  • Component: Beam examples
  • Component: Beam playground
  • Component: Beam katas
  • Component: Website
  • Component: Infrastructure
  • Component: Spark Runner
  • Component: Flink Runner
  • Component: Samza Runner
  • Component: Twister2 Runner
  • Component: Hazelcast Jet Runner
  • Component: Google Cloud Dataflow Runner

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions