darshil929 opened a new pull request, #68954:
URL: https://github.com/apache/airflow/pull/68954

   When a custom XCom backend stores values externally (e.g. in S3), a branch 
operator stops skipping some of its downstream tasks on Airflow 3 — 
specifically dynamically-mapped tasks and tasks that are cleared and re-run.
   
   **Why:** the branch records its skip decision as an XCom, and that XCom is 
pushed through your custom backend, which only persists a pointer to the real 
value. The scheduler reads that XCom as plain JSON to decide what to skip, 
can't interpret the pointer, and lets the task run instead of skipping it. It's 
the same root cause as the original 2.10.5 `NoCredentialsError` — on Airflow 3 
the scheduler no longer calls the backend, so the crash turned into a silent 
skip failure.
   
   **Fix:** keep the skip decision out of the custom backend. It's now stored 
in the same plain form Airflow uses by default, so the scheduler can always 
read it. Nothing changes when no custom backend is configured, and there's no 
Execution API change.
   
   Added a regression test that runs a real branch operator with an 
externalizing backend configured — it fails before this change and passes after.
   
   Separate from #52219, which was a different skip bug already fixed in #53455.
   
   closes: #50491
   
   ---
   ##### Was generative AI tooling used to co-author this PR?
   - [X] Yes — claude sonnet 4.6


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to