[FLINK-40380] Document the runtime configuration and stop jobs from overriding operator config through it - #1178
Merged
Merged
Conversation
gyfora
reviewed
Aug 13, 2026
Comment on lines
+154
to
+155
| LOG.warn( | ||
| "Ignoring global job parameter '{}': the job cannot override operator configuration.", |
Contributor
There was a problem hiding this comment.
Let's remove this log, it's basically unnecessary and does not communicate anything interesting to the operator. Operator configs are not job configs anyways.
Contributor
Author
There was a problem hiding this comment.
I've removed it now.
gyfora
reviewed
Aug 13, 2026
gyfora
left a comment
Contributor
There was a problem hiding this comment.
Aside from the too verbose logging, this looks good!
…verriding operator config through it
Dennis-Mircea
force-pushed
the
FLINK-40380
branch
from
August 13, 2026 07:45
115c3a4 to
28ec791
Compare
gyfora
approved these changes
Aug 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What is the purpose of the change
Follow-up to FLINK-35746, which added runtime configuration observation (reading a job's effective settings from the Flink REST API and layering them over the observed configuration).
Two gaps are addressed. The operator documentation still describes the previous configuration model, to the point of stating the operator cannot observe the running configuration. And the global job parameters taken from the REST response are applied unfiltered, so a job can override operator configuration for its own resource.
Brief change log
Documentation (
docs/content{,.zh}/docs/internals/startup.md)FlinkResourceContext#getObserveConfig.config.yamlbaked into the image is still invisible to the operator.Filtering (
FlinkRuntimeConfigurationUtils)kubernetes.operator.andjob.autoscaler.) are no longer copied into the runtime configuration, and each dropped key is logged at WARN.KubernetesOperatorConfigOptions.K8S_OP_CONF_PREFIXandAutoScalerOptions.AUTOSCALER_CONF_PREFIXconstants so it follows the prefixes if they ever change.The filter is deliberately limited to those two namespaces. The JobManager configuration endpoint legitimately contributes keys such as
rest.*, so filtering more broadly by key name would risk dropping genuinely observed settings, whereas operator and autoscaler keys have no reason to arrive from a job's global parameters at all.Verifying this change
AbstractFlinkServiceTest#testMapJobConfigurationDropsOperatorControlledGlobalParametersasserts that an operator key and an autoscaler key set as global job parameters are dropped, while an unrelated parameter and the mapped execution fields are kept.testMapJobConfigurationMapsAllExpectedFieldscontinues to pass, so ordinary parameters are unaffected.flink-kubernetes-operatorsuite passes (2240 tests).Does this pull request potentially affect one of the following parts:
CustomResourceDescriptors: noDocumentation
Was generative AI tooling used to co-author this PR?