This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 3e658107181 docs: add automated remediation guardrails to retry docs 
(#67705)
3e658107181 is described below

commit 3e65810718168c9a441ec83ed0d28e71e0b9daab
Author: 백형준 <[email protected]>
AuthorDate: Mon Jun 22 15:55:28 2026 +0900

    docs: add automated remediation guardrails to retry docs (#67705)
    
    * Add automated remediation guardrails to retry docs
    
    * chore(docs): trigger CI after local docs verification
    
    * docs: add cooldown to spelling wordlist
    
    * chore(docs): retrigger CI after spelling fix
---
 .../docs/howto/dag-level-retry-via-callback.rst       | 19 +++++++++++++++++++
 docs/spelling_wordlist.txt                            |  1 +
 2 files changed, 20 insertions(+)

diff --git a/airflow-core/docs/howto/dag-level-retry-via-callback.rst 
b/airflow-core/docs/howto/dag-level-retry-via-callback.rst
index d9f469964d0..d967e8f2d10 100644
--- a/airflow-core/docs/howto/dag-level-retry-via-callback.rst
+++ b/airflow-core/docs/howto/dag-level-retry-via-callback.rst
@@ -198,6 +198,25 @@ it from the give-up branch of your ``on_failure_callback`` 
before returning.
    see duplicate API calls. For stricter guarantees, use a backend with
    compare-and-swap semantics.
 
+Guarding automated remediation Dags
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Dag-level retry patterns can also be used in automated remediation Dags that
+run actions affecting external systems, such as clearing failed work, replaying
+messages, or restarting an external job. These actions should have guardrails
+so that a persistent failure does not cause the same recovery action to run
+repeatedly across Dag runs.
+
+Pools can limit how many recovery tasks run at the same time, but they do not
+limit how often the same recovery action is attempted. For automated 
remediation
+workflows, consider adding a small cooldown marker for each target and a 
maximum
+automatic action count before requiring manual review.
+
+For small guard values, such as a cooldown timestamp or attempt counter, an
+Airflow Variable may be sufficient. Do not use Variables as a high-volume state
+store or as a strongly consistent locking mechanism. If the workflow needs
+atomic updates, strict concurrency control, or many per-target state records,
+use an external store designed for that purpose.
 
 .. _clear-retry-caveats:
 
diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist.txt
index 145c091e600..133c37b413b 100644
--- a/docs/spelling_wordlist.txt
+++ b/docs/spelling_wordlist.txt
@@ -312,6 +312,7 @@ ContainerPort
 contentUrl
 contextmgr
 contrib
+cooldown
 copyable
 CoreV
 coroutine

Reply via email to