Skip to content

Cleanup ssh client connections on copy fails - #191

Open
sideshowcecil wants to merge 3 commits into
rundeck-plugins:mainfrom
sideshowcecil:main
Open

sideshowcecil wants to merge 3 commits into
rundeck-plugins:mainfrom
sideshowcecil:main

Conversation

@sideshowcecil

Copy link
Copy Markdown
Contributor

Ensure that client connections during SCP operations are cleaned up correctly. Thus preventing a possible memory leak when connections are not closed

Ensure that client connections during SCP operations are cleaned up correctly. Thus preventing a possible memory leak when connections are not closed
@sideshowcecil
sideshowcecil requested review from a team and a balanced review from Copilot October 29, 2026 14:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Multi-file copies fail because the returned client is never assigned, and cleanup exceptions can mask the original connection or transfer failure.

2 open issues
What changed in this PR

This PR aims to prevent SSH connection leaks when SCP operations fail in the SSHJ file copier plugin.

Changes:

  • Moves client creation and connection into the guarded transfer block.
  • Moves disconnect and close operations into null-checked finally blocks for single-file and multi-file copies.
File Description
src/​main/​java/​com/​plugin/​sshjplugin/​SSHJFileCopierPlugin.java Restructures SSH client cleanup to run after failed connections or transfers.

Review effort: Balanced

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Regression tests are missing for connection/authentication failures in both copy methods, including cleanup attempts and preservation of the original cause when cleanup throws an IOException.

1 open issue
2 resolved since last review

Review effort: Balanced

Comment on lines +188 to +189
client = createSshClient();
scp.connect(client);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants