[
https://issues.apache.org/jira/browse/FLINK-40365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18103647#comment-18103647
]
Dale Lane commented on FLINK-40365:
-----------------------------------
offered a suggested fix at
https://github.com/apache/flink-kubernetes-operator/pull/1173
> 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
> Priority: Minor
>
> 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)