Troubleshooting
Problem
SFTP Client End Session Service receives a timeout and never closes the connection.
Symptom
Using the SFTP Client Adapter with some 3rd party SFTP Servers such as WS_FTP_Pro and Titan FTP Server, if there is a firewall used, GIS SFTP Client End Session may hang if it never receives an acknowledgement (FIN_ACK2) of the closing session from the network. It seems that the firewall was dropping the acknowledgement message after it received the closing Command causing the Sftp Client End Session Service to wait forever.
Error Messagesftpclient.log file:
[2008-08-28 14:26:19.539] DEBUG 000000000000 GLOBAL_SCOPE EndSessionService.getServerAdapterLittleA() - looking up Server Adapter for [SFTPClientAdapter_SFTPClientAdapter_node1].
[2008-08-28 14:26:19.552] DEBUG 000000000000 GLOBAL_SCOPE Client.endSession(ESR) entering.
[2008-08-28 14:26:19.552] DEBUG 000000000000 GLOBAL_SCOPE Client.endSession(ESR) - starting timer with timeout [30000] ms, on com.sterlingcommerce.woodstock.services.sftpclient.client.TimeoutHandler@1d401d4
[2008-08-28 14:26:19.553] DEBUG 000000000000 GLOBAL_SCOPE Client.endSession(ESR) request parameters:
<SFTPClientAdapter>null</SFTPClientAdapter>
<SessionToken>SFTPClientAdapter_SFTPClientAdapter_node1_12199479718221002:66896</SessionToken>
<WorkflowContextId>hctunx09:node1:11bffbb0009:738473</WorkflowContextId>
<ResponseTimeout>30</ResponseTimeout>
[2008-08-28 14:26:19.556] DEBUG 000000000000 GLOBAL_SCOPE Session.endSession(R,PT) exiting.
[2008-08-28 14:26:19.557] DEBUG 000000000000 GLOBAL_SCOPE Session.endSession(R,PT) runnable entering.
[2008-08-28 14:26:29.558] ERROR
EDU.oswego.cs.dl.util.concurrent.TimeoutException
at EDU.oswego.cs.dl.util.concurrent.FutureResult.timedGet(FutureResult.java:128)
at com.sterlingcommerce.woodstock.services.sftpclient.services.Response.waitForResults(Response.java:97)
at com.sterlingcommerce.woodstock.services.sftpclient.client.Client.endSession(Client.java:309)
at com.sterlingcommerce.woodstock.services.sftpclient.AdapterImpl.endSession(AdapterImpl.java:206)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:309)
at sun.rmi.transport.Transport$1.run(Transport.java:168)
at java.security.AccessController.doPrivileged(AccessController.java:275)
at sun.rmi.transport.Transport.serviceCall(Transport.java:164)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:506)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.handleRequest(TCPTransport.java:838)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:912)
at java.lang.Thread.run(Thread.java:801)
Resolving The Problem
A new parameter was added to the sftp.properties file which will allow users to configure to the timeout value for the SFTP Client End Session Service in milliseconds. If value is set to less than 10 seconds or more than 1 hour, we default to 10 minutes and will only apply to the SFTP Client End Session. The following is an example for a 10 minutes timeout:
endSessionResponseTimeout=600000
Please apply Gentran Integration Suite, Release 4.3 Build 4315 or later.
Please apply Sterling Integrator, Release 5.0 Build 5001 or later.
Historical Number
NFX2720
Product Synonym
[<p><b>]Function Area[</b><p>];Adapters - SFTP;[<p><b>]Escalation ID[</b><p>];1370351;[<p><b>]Fix ID[</b><p>];168134;177626;[<p><b>]Severity[</b><p>];Normal;[<p><b>]Type[</b><p>];NormalFix;[<p><b>]Build[</b><p>];4315;5001
Was this topic helpful?
Document Information
Modified date:
14 November 2019
UID
swg21559448