Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Dataflow worker container resolved to legacy runner label if not explicitly disable/enable runner v2 in 2.54.0+.dev #30634

Open
16 tasks
Abacn opened this issue Mar 14, 2024 · 2 comments

Comments

@Abacn
Copy link
Contributor

Abacn commented Mar 14, 2024

What happened?

Run a batch job on Dataflow runner use SNAPSHOT version, the Dataflow job now stucks, with error

Container image gcr.io/cloud-dataflow/v1beta3/beam_java8_sdk:beam-master-20240306 not downloaded yet.

This is seen in #30505 (comment)

It does not affect release as both dataflowLegacyContainerVersion and dataflowFnapiContainerVersion are identical

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: Spark Runner
  • Component: Flink Runner
  • Component: Samza Runner
  • Component: Twister2 Runner
  • Component: Hazelcast Jet Runner
  • Component: Google Cloud Dataflow Runner
@github-actions github-actions bot added the P2 label Mar 14, 2024
@Abacn Abacn changed the title [Bug]: Dataflow worker container resolved to legacy runner label if not explicitly disable/enable runner v2 in 2.55.0+ [Bug]: Dataflow worker container resolved to legacy runner label if not explicitly disable/enable runner v2 in 2.54.0+.dev Mar 14, 2024
@Abacn
Copy link
Contributor Author

Abacn commented Mar 14, 2024

The logic of determining contaner label is here:

static String getDefaultContainerImageUrl(DataflowPipelineOptions options) {

calls

static String getDefaultContainerVersion(DataflowPipelineOptions options) {

calls

static boolean useUnifiedWorker(DataflowPipelineOptions options) {

As for batch pipeline, it should still resolve to `gcr.io/cloud-dataflow/v1beta3/beam-java-batch:beam-master-20240306'. Does the replace happen on the Dataflow side ?

@Abacn
Copy link
Contributor Author

Abacn commented Mar 19, 2024

This also affects

String runner = LEGACY_RUNNER;
Environment environment = job.getEnvironment();
if (environment != null
&& environment.getExperiments() != null
&& environment.getExperiments().contains("use_runner_v2")) {
runner = RUNNER_V2;
}

the throughput metrics are not correctly reported in IOLoadTests for read pipelines

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant