Skip to content

Fix pipeline override cleanup and cached options reuse - #189

Merged
cirquare merged 1 commit into
li-release-2.75from
yf186035/beam-2.75-phase5d3-override-cleanup
Oct 14, 2026
Merged

cirquare merged 1 commit into
li-release-2.75from
yf186035/beam-2.75-phase5d3-override-cleanup

Conversation

@cirquare

Copy link
Copy Markdown

Summary

Restore current-thread PTransformOverrideRegistrar cleanup in both completed FlinkRunnerResult.waitUntilFinish overloads, preserving other result APIs.

Restore the cached PipelineOptions view fast path before custom initializer discovery. This avoids unnecessary ServiceLoader access through a retired context classloader while leaving cache-miss synchronization, initialization, and failure propagation unchanged.

Add regressions for cleanup/tag reuse/thread isolation, cached views with and without a custom initializer, and visible failure when an uncached view requires a closed loader.

Testing Done

  • Cleanup and cached-view regressions failed before their respective fixes and passed afterward.
  • Existing options/proxy/factory tests and the Flink adapter/result tests passed.
  • Fresh complete SDK/core, runner-core, harness, and Avro checks; all Flink 1.19/1.20/2.0/2.1/2.2 builds; all 1.20/2.2 conformance variants passed with JDK 11, --rerun-tasks and --no-build-cache. All 285 tasks executed: 9,143 test executions, 23 built-in skips, zero failures/errors.
  • Local qualification: the unchanged runner-core duration test hit Java heap OOM at the default 2 GB. The passing cumulative run used a session-only 4 GB override for :runners:core-java:test; all other test workers remained at 2 GB. Repository and CI settings, test assertions, and timeouts are unchanged.
  • git diff --check passed. Hosted Flink CI will be checked on this PR.
  • Repository-wide/cloud, full-stack, and old-checkpoint validation remain separate incomplete gates.

Restore current-thread transform override cleanup after waiting for completed Flink results, and return cached options views before custom initializer discovery to avoid unnecessary access through retired context classloaders.

Add regression coverage while retaining cache-miss synchronization, provider error propagation, and other pipeline-result behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@cirquare
cirquare marked this pull request as ready for review October 14, 2026 21:15
@cirquare
cirquare merged commit 2660286 into li-release-2.75 Oct 14, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant