stegololz commented on issue #73658:
URL: https://github.com/apache/airflow/issues/73658#issuecomment-5867466669

   @shahar1 tested sftp 6.1.0rc1, mainly #73288 and #72336. Both work as 
advertised.
   
   Method: real transfers against a local asyncssh SFTP server, with the rc1 
wheel from PyPI, on Airflow 3.3.2 (asyncssh 2.24.0, paramiko 5.0.0, Python 
3.13) and, for backwards compatibility, on 2.11.2, 3.0.6, 3.1.8 and 3.2.2.
   
   - #72336: `SFTPOperator(deferrable=True)` defers to `SFTPTransferTrigger`, 
the trigger re-instantiated from `serialize()` completes PUT, GET and DELETE 
for single files, lists with `concurrency=2` and directory trees, 
`create_intermediate_dirs` works, a missing GET source yields an error event 
that `execute_complete` turns into `AirflowException`, and a missing connection 
id raises `ValueError`. The synchronous path through the new 
`SFTPHook.transfer()` still does PUT, GET and DELETE. Same results on all five 
Airflow versions.
   - #73288: five consecutive `SFTPNoSuchFile` on one `SFTPClientPool` reuse a 
single SSH connection; `SFTPConnectionLost` and a non-`SFTPError` still drop 
it. Same on all five versions.
   - The `pools` and `triggers` unit test modules from the tag pass standalone 
on all five versions (46 tests).
   
   ---
   Drafted-by: Claude Code (Fable 5.1); reviewed by @stegololz 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