Jonghyun-An opened a new pull request, #74145:
URL: https://github.com/apache/airflow/pull/74145

   Temporary FTP replies such as `450` raise `ftplib.error_temp`, but the 
sensor only catches `error_perm`. A sensor configured with 
`fail_on_transient_errors=False` therefore fails instead of waiting for its 
next poke.
   
   Apply the existing reply-code policy to temporary errors in both FTP and 
FTPS sensors. Known transient codes return `False` when configured to wait. The 
default fail-on-error behavior, unknown-code propagation and existing `550` 
handling remain.
   
   ### Testing
   
   - `pytest providers/ftp/tests/unit/ftp -q` in Breeze: 73 passed.
   - New focused cases: 8 failures and 4 guard passes against the original 
source; all 12 pass with the patch. Covers FTP/FTPS factories, sequential 
pokes, the default raise policy and unknown `430` replies.
   - Cross-layer cases use the real ftplib response parser and FTP/FTPS hooks 
with mocked socket transport, and verify MDTM/QUIT and connection cleanup. 
Regular and manual prek checks against `upstream/main` passed.
   
   - CI-selected provider unit suites (`amazon`, `common.compat`, `ftp`, 
`openlineage`) in parallel Breeze containers: 6525 passed, 141 skipped. This 
overlaps the FTP tests above.
   
   No live server or TLS handshake was exercised. Hook creation and context 
cleanup errors remain outside the catch; a server closing the control 
connection after `421` can still cause cleanup to fail.
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes — OpenAI Codex (GPT-6)
   
   Generated-by: OpenAI Codex (GPT-6) following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   
   ---
   
   Drafted-by: OpenAI Codex (GPT-6) (no human review before posting)
   


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