This is an automated email from the ASF dual-hosted git repository. joewitt pushed a commit to branch support/nifi-1.16 in repository https://gitbox.apache.org/repos/asf/nifi.git
commit 248626efcb8bffb2e36e2ae73e1dc0273e926db3 Author: exceptionfactory <exceptionfact...@apache.org> AuthorDate: Fri Jun 3 10:50:42 2022 -0500 NIFI-10088 Set SSH Transport Timeout using SFTP Data Timeout property Signed-off-by: Nathan Gough <thena...@gmail.com> This closes #6097. --- .../nifi/processors/standard/ssh/StandardSSHClientProvider.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ssh/StandardSSHClientProvider.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ssh/StandardSSHClientProvider.java index 2924934a4a..1a612c9292 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ssh/StandardSSHClientProvider.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ssh/StandardSSHClientProvider.java @@ -20,6 +20,7 @@ import net.schmizz.keepalive.KeepAlive; import net.schmizz.sshj.Config; import net.schmizz.sshj.SSHClient; import net.schmizz.sshj.connection.Connection; +import net.schmizz.sshj.transport.Transport; import net.schmizz.sshj.transport.TransportException; import net.schmizz.sshj.transport.verification.PromiscuousVerifier; import net.schmizz.sshj.userauth.keyprovider.KeyFormat; @@ -146,6 +147,12 @@ public class StandardSSHClientProvider implements SSHClientProvider { final int dataTimeout = context.getProperty(DATA_TIMEOUT).asTimePeriod(TimeUnit.MILLISECONDS).intValue(); client.setTimeout(dataTimeout); + // Set Transport and Connection timeouts using Socket Data Timeout property + final Transport transport = client.getTransport(); + transport.setTimeoutMs(dataTimeout); + final Connection connection = client.getConnection(); + connection.setTimeoutMs(dataTimeout); + final boolean strictHostKeyChecking = context.getProperty(STRICT_HOST_KEY_CHECKING).asBoolean(); final String hostKeyFilePath = context.getProperty(HOST_KEY_FILE).getValue(); if (StringUtils.isNotBlank(hostKeyFilePath)) {