You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Dale Lane (Jira)" <ji...@apache.org> on 2026/08/12 09:08:00 UTC
[jira] [Updated] (FLINK-40374) Redeploying a FlinkSessionJob from an explicit savepoint if the job was previously suspended
[ https://issues.apache.org/jira/browse/FLINK-40374?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dale Lane updated FLINK-40374:
------------------------------
Summary: Redeploying a FlinkSessionJob from an explicit savepoint if the job was previously suspended (was: Redeploying a FlinkSessionJob from an explicit savepoint fails with IllegalArgumentException: Cannot parse JobID from "null" if the job was previously suspended)
> Redeploying a FlinkSessionJob from an explicit savepoint if the job was previously suspended
> --------------------------------------------------------------------------------------------
>
> Key: FLINK-40374
> URL: https://issues.apache.org/jira/browse/FLINK-40374
> Project: Flink
> Issue Type: Bug
> Components: Kubernetes Operator
> Reporter: Dale Lane
> Priority: Major
>
> For a {{{}FlinkSessionJob{}}}, if a job is suspended with a savepoint, and the user then tries to explicitly redeploy it from a specific savepoint path (by setting {{{}spec.job.state=RUNNING{}}}, {{{}spec.job.initialSavepointPath{}}}, and bumping {{{}spec.job.savepointRedeployNonce{}}}), the reconciler fails instead of redeploying the job.
> *Steps to reproduce:*
> 1. Deploy a {{FlinkSessionJob}} with {{spec.job.upgradeMode=SAVEPOINT}} and {{{}spec.job.state=RUNNING{}}}.
> 2. Suspend the job: set {{{}spec.job.state=SUSPENDED{}}}. The operator suspends the job with a savepoint, and clears the job id
> 3. Request a redeploy from an explicit savepoint: set {{{}spec.job.state=RUNNING{}}}, set {{spec.job.initialSavepointPath}} to a savepoint path, and bump {{spec.job.savepointRedeployNonce}} to a new value.
> 4. Reconciliation fails with:
> {code:java}
> org.apache.flink.kubernetes.operator.exception.ReconciliationException:
> java.lang.IllegalArgumentException: Cannot parse JobID from "null".
> The expected format is [0-9a-fA-F]{32}, e.g. fd72014d4c864993a2e5a9287b4a9c5d.
> {code}
> The same sequence (suspend, then trigger a savepoint redeploy via {{savepointRedeployNonce}} + {{{}initialSavepointPath{}}}) works as expected for {{FlinkDeployment}} in Application mode — it's already covered by an existing passing test ({{{}ApplicationReconcilerTest.testSavepointRedeploy{}}}).
> The failure appears specific to {{{}FlinkSessionJob{}}}.
> A test reproducing this issue is available here: [https://github.com/apache/flink-kubernetes-operator/commit/6a1b76fe9e778effe09946f31c9850f4bcb9dc03]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)