Skip to content

[Task]: Investigate Failures in Go Flink Load Tests with original load #33753

Open

Description

@Amar3tto

What needs to happen?

We need to investigate why the following Go Flink Load Test workflows fail when running with the original load:

  • LoadTests Go GBK Flink Batch
  • LoadTests Go Combine Flink Batch
  • LoadTests Go SideInput Flink Batch
  • LoadTests Go CoGBK Flink Batch

A quick fix was applied to reduce the load, which allowed the workflows to run successfully. However, we should determine the root cause of the failures under the original load conditions.

Example of Original Load for CoGBK:

--input_options=''{\"num_records\":20000000,\"key_size\":10,\"value_size\":90,\"num_hot_keys\":5,\"hot_key_fraction\":1}'' --co_input_options=''{\"num_records\":2000000,\"key_size\":10,\"value_size\":90,\"num_hot_keys\":1000,\"hot_key_fraction\":1}''

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

Activity

  1. github-actions commented on Jun 23, 2025

    @github-actions
    Contributor

    This issue has been marked as stale due to 150 days of inactivity. It will be closed in 30 days if no further activity occurs. If you think that’s incorrect or this issue still needs to be addressed, please simply write any comment. If closed, you can reopen the issue at any time. Thank you for your contributions.

  2. github-actions commented on Jul 23, 2025

    @github-actions
    Contributor

    This issue has been closed due to lack of activity. If you think that is incorrect, you can reopen the issue at any time.

  3. github-actions commented on Mar 9, 2026

    @github-actions
    Contributor

    This issue has been marked as stale due to 150 days of inactivity. It will be closed in 30 days if no further activity occurs. If you think that’s incorrect or this issue still needs to be addressed, please simply write any comment. If closed, you can reopen the issue at any time. Thank you for your contributions.

  4. github-actions commented on Apr 8, 2026

    @github-actions
    Contributor

    This issue has been closed due to lack of activity. If you think that is incorrect, you can reopen the issue at any time.

  5. reopened this on Aug 14, 2026
  6. Abacn commented on Aug 14, 2026

    @Abacn
    Contributor

    The load has been decreased multiple times since this this issue open. Did a survey and we can revert some of the decreased load, but not all.

    In particular Go GBK test 10b and 100b would still fail on OutOfMemoryError:

    Caused by: java.lang.OutOfMemoryError: Java heap space
    	at org.apache.beam.sdk.values.KV.of(KV.java:45)
    	at org.apache.beam.runners.flink.translation.wrappers.streaming.ExecutableStageDoFnOperator$SdkHarnessDoFnRunner$1.lambda$create$0(ExecutableStageDoFnOperator.java:965)
    	at org.apache.beam.runners.flink.translation.wrappers.streaming.ExecutableStageDoFnOperator$SdkHarnessDoFnRunner$1$$Lambda/0x00007f97dfd5dde0.accept(Unknown Source)
    	at org.apache.beam.sdk.fn.data.BeamFnDataInboundObserver.multiplexElements(BeamFnDataInboundObserver.java:232)
    	at org.apache.beam.sdk.fn.data.BeamFnDataInboundObserver.awaitCompletion(BeamFnDataInboundObserver.java:186)
    	at org.apache.beam.runners.fnexecution.control.SdkHarnessClient$BundleProcessor$ActiveBundle.close(SdkHarnessClient.java:565)
    	at org.apache.beam.runners.fnexecution.control.DefaultJobBundleFactory$SimpleStageBundleFactory$1.close(DefaultJobBundleFactory.java:562)
    	at org.apache.beam.runners.flink.translation.wrappers.streaming.ExecutableStageDoFnOperator$SdkHarnessDoFnRunner.finishBundle(ExecutableStageDoFnOperator.java:1067)
    	at org.apache.beam.runners.flink.metrics.DoFnRunnerWithMetricsUpdate.finishBundle(DoFnRunnerWithMetricsUpdate.java:100)
    	at org.apache.beam.runners.core.SimplePushbackSideInputDoFnRunner.finishBundle(SimplePushbackSideInputDoFnRunner.java:133)
    	at org.apache.beam.runners.flink.translation.wrappers.streaming.DoFnOperator.invokeFinishBundle(DoFnOperator.java:1044)
    	at org.apache.beam.runners.flink.translation.wrappers.streaming.ExecutableStageDoFnOperator.flushData(ExecutableStageDoFnOperator.java:719)
    	at org.apache.beam.runners.flink.translation.wrappers.streaming.DoFnOperator.finish(DoFnOperator.java:691)
    	at org.apache.flink.streaming.runtime.tasks.StreamOperatorWrapper$$Lambda/0x00007f97dfd2e248.run(Unknown Source)
    	at org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$1.runThrowing(StreamTaskActionExecutor.java:50)
    

    Likely we need to use rockdb state backend instead of the default memory one for Flink runner. This option hasn't exposed in Go SDK. And if does, not sure it's working correctly as there isn't test coverage.

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

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