You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "roysti10 (via GitHub)" <gi...@apache.org> on 2026/08/27 05:56:04 UTC
[PR] [FLINK-38290][operator] Keep terminal job state when job is not found [flink-kubernetes-operator]
roysti10 opened a new pull request, #1196:
URL: https://github.com/apache/flink-kubernetes-operator/pull/1196
## What is the purpose of the change
Fixes FLINK-38290, a FlinkDeployment whose job has reached a globallly terminal state falls back to RECONCILING and gets stuck there when the JM pod is lost and recreated
## Brief change log
* JobStatusObserver#onTargetJobNotFound keeps the observed job state and error when the job is already in a globally terminal state
* The Job Not Found warning event is skipped for terminal jobs and logged instead
* The reconciliation state is still reset to DEPLOYED unconditionally, so a pending upgrade is not blocked
## Verifying this change
This change added tests and can be verified as follows:
- Extended `testCancellingToMissing` so its 9 globally terminal parameter rows assert the observed state, the error, and the absence of the warning event
- Added `testFinishedJobStateSurvivesJobManagerRestart` and `testFailedJobStateSurvivesJobManagerRestart`: both submit an application cluster, let the observer record the terminal state from the cluster, then drop the job via `clearJobsInTerminalState()` to simulate the JobManager restart. The failed case also asserts the recorded failure reason is not replaced by `Job Not Found`
- Added `testMissingTerminalJobStillUnblocksPendingUpgrade`, which passes with and without the fix by design — it guards the unconditional reconciliation state reset rather than the bug
- Red/green: the 9 parameterized rows and the 2 new tests fail without the fix and pass with it
- No `e2e-tests/` script was added; the scenario needs a JobManager pod restart after job completion, and the unit tests reproduce it through the store-clearing path
## Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): (yes / no) - no
- The public API, i.e., is any changes to the `CustomResourceDescriptors`: (yes / no) - no
- Core observer or reconciler logic that is regularly executed: (yes / no) - yes (Reconciller logic)
## Documentation
- Does this pull request introduce a new feature? (yes / no) -no
- If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
---
##### Was generative AI tooling used to co-author this PR?
- [x] Yes (please specify the tool below)
Generated-by: Claude Code
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] [FLINK-38290][operator] Keep terminal job state when job is not found [flink-kubernetes-operator]
Posted by "gyfora (via GitHub)" <gi...@apache.org>.
gyfora merged PR #1196:
URL: https://github.com/apache/flink-kubernetes-operator/pull/1196
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@flink.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org