Dale Lane created FLINK-40365:
---------------------------------

             Summary: Job Management docs: "Config Requirement" for savepoint 
upgrade mode is incorrect
                 Key: FLINK-40365
                 URL: https://issues.apache.org/jira/browse/FLINK-40365
             Project: Flink
          Issue Type: Bug
          Components: Documentation, Kubernetes Operator
            Reporter: Dale Lane


The "Stateful and stateless application upgrades" table in 
{{job-management.md}} 
[ref|https://github.com/apache/flink-kubernetes-operator/blob/main/docs/content/docs/managing/job-management.md#L103-L109]
 states, for the `savepoint` upgrade mode's "Config Requirement" row:

{{Checkpoint or savepoint directory defined}}

This reads as "either directory is sufficient." But 
{{DefaultValidator.validateJobSpec}} 
([ref|https://github.com/apache/flink-kubernetes-operator/blob/main/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/validation/DefaultValidator.java#L251-L272])
 requires both directories for {{savepoint}} mode:
 - {{checkpoints.dir}} is required for any non-stateless mode, including 
savepoint — this is what backs the savepoint -> last-state fallback described 
in the footnote just below the table, for when the job is unhealthy at upgrade 
time - {{AbstractJobReconciler.getJobUpgrade}} 
([ref|https://github.com/apache/flink-kubernetes-operator/blob/main/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/reconciler/deployment/AbstractJobReconciler.java#L240-L259])
 - {{savepoints.dir}} is additionally required specifically for savepoint mode, 
to actually take and restore the savepoint.

A deployment configured with only {{state.savepoints.dir}} (no 
{{state.checkpoints.dir}}) will pass what the docs imply is sufficient, but 
fail admission validation with "Checkpoint directory[...] must be defined for 
last-state and savepoint upgrade modes"

*Suggested fix:* change the table cell to {{Checkpoint and savepoint directory 
defined}}

We could also extend the existing footnote (or add one) to note that the 
checkpoint directory requirement for savepoint mode exists specifically to 
support the fallback to last-state when the job isn't healthy at upgrade time.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to