diff --git a/docs/layouts/shortcodes/generated/checkpointing_configuration.html b/docs/layouts/shortcodes/generated/checkpointing_configuration.html
index 6383e0bfc3408..e9b049cd5fb5e 100644
--- a/docs/layouts/shortcodes/generated/checkpointing_configuration.html
+++ b/docs/layouts/shortcodes/generated/checkpointing_configuration.html
@@ -158,6 +158,12 @@
Integer |
The tolerable checkpoint consecutive failure number. If set to 0, that means we do not tolerance any checkpoint failure. This only applies to the following failure reasons: IOException on the Job Manager, failures in the async phase on the Task Managers and checkpoint expiration due to a timeout. Failures originating from the sync phase on the Task Managers are always forcing failover of an affected task. Other types of checkpoint failures (such as checkpoint being subsumed) are being ignored. |
+
+ execution.checkpointing.unaligned.during-recovery.enabled |
+ false |
+ Boolean |
+ Whether to enable checkpointing during recovery from an unaligned checkpoint. When enabled, the job can take checkpoints while still recovering channel state (inflight data) from a previous unaligned checkpoint. This avoids the need to wait for full recovery before the first checkpoint can be triggered, which reduces the window of vulnerability to failures during recovery.
This option requires execution.checkpointing.unaligned.recover-output-on-downstream.enabled to be enabled. It does not require unaligned checkpoints to be currently enabled, because a job may restore from an unaligned checkpoint while having unaligned checkpoints disabled for the new execution. |
+
execution.checkpointing.unaligned.enabled |
false |
diff --git a/docs/layouts/shortcodes/generated/common_checkpointing_section.html b/docs/layouts/shortcodes/generated/common_checkpointing_section.html
index f942529b79c71..c8a1d0b856dcb 100644
--- a/docs/layouts/shortcodes/generated/common_checkpointing_section.html
+++ b/docs/layouts/shortcodes/generated/common_checkpointing_section.html
@@ -56,6 +56,12 @@
Integer |
The maximum number of completed checkpoints to retain. |
+
+ execution.checkpointing.unaligned.during-recovery.enabled |
+ false |
+ Boolean |
+ Whether to enable checkpointing during recovery from an unaligned checkpoint. When enabled, the job can take checkpoints while still recovering channel state (inflight data) from a previous unaligned checkpoint. This avoids the need to wait for full recovery before the first checkpoint can be triggered, which reduces the window of vulnerability to failures during recovery.
This option requires execution.checkpointing.unaligned.recover-output-on-downstream.enabled to be enabled. It does not require unaligned checkpoints to be currently enabled, because a job may restore from an unaligned checkpoint while having unaligned checkpoints disabled for the new execution. |
+
execution.checkpointing.unaligned.recover-output-on-downstream.enabled |
false |
diff --git a/flink-core/src/main/java/org/apache/flink/configuration/CheckpointingOptions.java b/flink-core/src/main/java/org/apache/flink/configuration/CheckpointingOptions.java
index a1307b38c510d..817b5b0093ec0 100644
--- a/flink-core/src/main/java/org/apache/flink/configuration/CheckpointingOptions.java
+++ b/flink-core/src/main/java/org/apache/flink/configuration/CheckpointingOptions.java
@@ -670,8 +670,7 @@ public class CheckpointingOptions {
+ "when job restores from the unaligned checkpoint.");
@Experimental
- @Documentation.ExcludeFromDocumentation(
- "This option is not yet ready for public use, will be documented in a follow-up commit")
+ @Documentation.Section(Documentation.Sections.COMMON_CHECKPOINTING)
public static final ConfigOption UNALIGNED_DURING_RECOVERY_ENABLED =
ConfigOptions.key("execution.checkpointing.unaligned.during-recovery.enabled")
.booleanType()
diff --git a/flink-test-utils-parent/flink-test-utils/src/main/java/org/apache/flink/streaming/util/TestStreamEnvironment.java b/flink-test-utils-parent/flink-test-utils/src/main/java/org/apache/flink/streaming/util/TestStreamEnvironment.java
index c8284090264cb..062754bd7854e 100644
--- a/flink-test-utils-parent/flink-test-utils/src/main/java/org/apache/flink/streaming/util/TestStreamEnvironment.java
+++ b/flink-test-utils-parent/flink-test-utils/src/main/java/org/apache/flink/streaming/util/TestStreamEnvironment.java
@@ -148,6 +148,7 @@ private static void randomizeConfiguration(MiniCluster miniCluster, Configuratio
randomize(conf, CheckpointingOptions.ENABLE_UNALIGNED, true, false);
randomize(
conf, CheckpointingOptions.UNALIGNED_RECOVER_OUTPUT_ON_DOWNSTREAM, true, false);
+ randomize(conf, CheckpointingOptions.UNALIGNED_DURING_RECOVERY_ENABLED, true, false);
randomize(
conf,
CheckpointingOptions.ALIGNED_CHECKPOINT_TIMEOUT,