Skip to content

[FLINK-36567][table] Honor io.tmp.dirs from flink-conf.yaml when extracting planner JAR#28220

Open
Au-Miner wants to merge 1 commit into
apache:masterfrom
Au-Miner:FLINK-36567
Open

[FLINK-36567][table] Honor io.tmp.dirs from flink-conf.yaml when extracting planner JAR#28220
Au-Miner wants to merge 1 commit into
apache:masterfrom
Au-Miner:FLINK-36567

Conversation

@Au-Miner
Copy link
Copy Markdown
Contributor

@Au-Miner Au-Miner commented May 21, 2026

What is the purpose of the change

PlannerModule extracted the flink-table-planner JAR into the JVM default temp directory (e.g. /tmp) regardless of the io.tmp.dirs value configured in flink-conf.yaml. This fix makes the loader honor the configured directory.

Brief change log

  • Replace new Configuration() with GlobalConfiguration.loadConfiguration() in PlannerModule's constructor so the loaded flink-conf.yaml is used when resolving the temp directory.
  • Extract the temp-directory resolution into a package-private PlannerModule#resolveTmpDirectory(Configuration) (annotated @VisibleForTesting) to keep the constructor focused and to make the logic unit-testable.

Verifying this change

Added PlannerModuleTest with two cases: resolveTmpDirectoryHonorsIoTmpDirsFromYaml writes a config.yaml with a custom io.tmp.dirs, loads it via GlobalConfiguration.loadConfiguration(configDir, null), and asserts PlannerModule.resolveTmpDirectory(...) returns the configured path; resolveTmpDirectoryFallsBackToDefaultWhenIoTmpDirsUnset asserts the fallback to CoreOptions.TMP_DIRS default for an empty configuration.

Does this pull request potentially affect one of the following parts:

  • Dependencies (does it add or upgrade a dependency): no
  • The public API, i.e., is any changed class annotated with @Public(Evolving): no
  • The serializers: no
  • The runtime per-record code paths (performance sensitive): no
  • Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
  • The S3 file system connector: no

Documentation

  • Does this pull request introduce a new feature? no
  • If yes, how is the feature documented? no

@Au-Miner Au-Miner marked this pull request as ready for review May 21, 2026 11:11
@flinkbot
Copy link
Copy Markdown
Collaborator

flinkbot commented May 21, 2026

CI report:

Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run azure re-run the last Azure build

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants