karthik-0306 commented on PR #12858:
URL: https://github.com/apache/seatunnel/pull/12858#issuecomment-6249827161

   Thanks @DanielLeens for the review. Issue 1 is fixed with Option A in the 
latest commit:
   
   - `install_plugins()` saves the exact bytes of `plugin_config` before 
selecting, and restores them atomically if `install-plugin.sh` exits non-zero, 
fails to start, or is interrupted (Ctrl+C during a download). The original 
error is still raised; if the restore itself fails, the message includes both 
errors. A successful install keeps the new selection.
   - Regression tests: the non-zero exit and `OSError` tests now assert 
byte-identical restoration, plus new tests for restoring a previous 
(non-default, CRLF) selection, `KeyboardInterrupt`, a failed restore, and a 
successful install keeping the selection. The new restore tests fail on the 
previous commit and pass now.
   
   All 54 SDK tests pass on Python 3.9, 3.11 and 3.13. I also ran it against 
the real `install-plugin.sh` with a version that 404s on Maven Central: the 
call raised and `plugin_config` was byte-identical to the original afterwards.
   
   On the non-blocking note: agreed, I'll document the import/API in the 
launcher PR that exposes it.
   


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