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

   Debuggers such as debugpy inspect local variables by probing for `__iter__` 
and calling `repr()`. Airflow's dynamic task-context accessors can treat those 
probes as connection, variable, or macro lookups, while the lazy previous-run 
datetime values can resolve during representation. Both paths may make an 
Execution API request before the task callable starts and leave the debugger 
waiting.
   
   This change makes the dynamic accessors explicitly non-iterable and gives 
the lazy previous-run datetime values a representation that does not resolve 
the proxy. Normal attribute access and lazy datetime resolution are unchanged. 
The implementation deliberately avoids filtering all dunder names, which could 
break existing variable, connection, or macro keys.
   
   Regression tests cover the connection, variable, and macro accessors as well 
as lazy datetime inspection and subsequent normal resolution.
   
   Validation:
   
   - `task-sdk/tests/task_sdk/execution_time/test_context.py`: 173 passed
   - Focused Task SDK debugger regressions: 4 passed
   - Existing context construction and lazy-loading tests: 3 passed
   - Ruff lint and format checks
   - Airflow pre-commit and manual `prek` checks, including mypy
   - Airflow selective CI check for the committed diff
   
   closes: #51861
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes - OpenAI Codex
   
   Generated-by: OpenAI Codex following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   
   ---
   
   * Read the **[Pull Request 
Guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#pull-request-guidelines)**
 for more information. Note: commit author/co-author name and email in commits 
become permanently public when merged.
   * For fundamental code changes, an Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals))
 is needed.
   * When adding dependency, check compliance with the [ASF 3rd Party License 
Policy](https://www.apache.org/legal/resolved.html#category-x).
   * For significant user-facing changes create newsfragment: 
`{pr_number}.significant.rst`, in 
[airflow-core/newsfragments](https://github.com/apache/airflow/tree/main/airflow-core/newsfragments).
 You can add this file in a follow-up commit after the PR is created so you 
know the PR number.
   


-- 
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