Skip to content

[Flink] Fix REMOTE Session JobGraph submission for Flink 1.x/2.x SQL and uploaded JAR jobs - #4507

Merged
wolfboys merged 1 commit into
apache:devfrom
shangeyao:fix/flink-remote-session-jobgraph-submit
Aug 25, 2026
Merged

[Flink] Fix REMOTE Session JobGraph submission for Flink 1.x/2.x SQL and uploaded JAR jobs#4507
wolfboys merged 1 commit into
apache:devfrom
shangeyao:fix/flink-remote-session-jobgraph-submit

Conversation

@shangeyao

@shangeyao shangeyao commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes REMOTE Session JobGraph submission for Flink 1.17–1.20 and 2.x SQL / uploaded JAR applications (Closes #4506).

This PR builds on #4500, which already landed the Flink 2.x REMOTE JobGraph baseline on dev. This change adds the remaining cross-version fixes discovered during local e2e validation.

SQL

  • Normalize storage/decoding with DeflaterUtils.toPlainText / compressForStorage
  • Harden FlinkSql.checkChange for null/compressed input
  • Sync remote cluster versionId on update

Uploaded JAR

  • Skip distHome for upload resources; fix team-scoped upload paths
  • Resolve shaded jar fallback for upload jobs
  • Add Flink runtime classpath + parent-first classloading for JobGraph build (including Flink 1.20 flink-dist)

Client / packer / shims (1.x + 2.x)

  • Read main class from JSON appConf (SubmitRequest.appMain)
  • Fix ShadedBuildResponse JSON mapping
  • SQL fat-jar snakeyaml handling (sqlclient shade, MavenTool, build pipeline lib copy)
  • Flink 2.x shims-base upload in EnvInitializer
  • FlinkShimsProxy parent-first for org.yaml
  • JDK 17 SecurityManager tolerance; REST fallback via HttpClient

Relationship to #4500

Layer PR Responsibility
Baseline #4500 (merged) Flink 2.x REMOTE JobGraph submit path, classloader/ServiceLoader fixes
This PR #4507 SQL storage, upload JAR build/submit, snakeyaml/classpath, 1.20 flink-dist, console fixes

Test plan

  • Flink 1.20.5 REMOTE Session: SQL build + start → RUNNING via JobGraph (no REST fallback)
  • Flink 1.20.5 REMOTE Session: uploaded JAR (Flink 1.20-compatible examples jar) → RUNNING via JobGraph
  • Flink 2.x REMOTE Session: SQL + JAR regression verified in local e2e (on top of [Flink] Make Flink 2.x job submission work on REMOTE mode #4500)
  • CI

Note: uploaded JARs must match the target Flink version.

… uploaded JAR jobs

Fix SQL storage/decoding, upload-JAR build/submit classpath, and related
console/client/packer issues so REMOTE Session jobs reach RUNNING via
JobGraph submission. Closes apache#4506.

Co-authored-by: Cursor <cursoragent@cursor.com>
@sonarqubecloud

Copy link
Copy Markdown

@shangeyao shangeyao changed the title [Flink] Fix REMOTE Session JobGraph submission for Flink 1.20 SQL and uploaded JAR jobs [Flink] Fix REMOTE Session JobGraph submission for Flink 1.x/2.x SQL and uploaded JAR jobs Aug 25, 2026
@wolfboys
wolfboys merged commit de2bc56 into apache:dev Aug 25, 2026
38 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.

[Flink] Fix REMOTE Session JobGraph submission for Flink 1.x/2.x SQL and uploaded JAR jobs

2 participants