Skip to content

[Task]: Beam tft extra depends on old version of tensorflow-transform that requires protobuf v4. #37854

@tvalentyn

Description

@tvalentyn

What needs to happen?

We recently started to allow newer versions of GRPC. #37817.

I wanted to regenerate containers to start using newer versions of GRPC and clean up some tech debt we had in our code because grpc version was restricted, notably envoy-data-plane was set to use some really old version.

I ran into dependency hell in some of our test suites. The crux of it seems to be:

  • our ml_test dependency requires tensorflow-transform
  • tensorflow-transform doesn't support protobuf 6
  • beam tft extra requires an even older tensorflow-transform that doesn't support protobuf 5. Our ml_tests suites (e.g. precommit XLang YAML) end up using protobuf 3 due to various dependency constraints.
  • grpcio-status==1.78.0 requires protobuf 6: protobuf 5 will reach EOL at the end of March'26 .
  • If we build Beam GRPC stubs with protobuf 5+, these stubs no longer work with protobuf 3: 531176c#r2932955415, in other words install pip install apache-beam[tft] will not work.

We need to upgrade to newer versions of TFT, which is currently blocked by tensorflow/transform#347 .

Issue Priority

Priority: 2 (default / most normal work 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

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions