RA FTP job fails with error "Connection closed without indication"

book

Article ID: 84781

calendar_today

Updated On:

Products

CA Automic Workload Automation - Automation Engine AUTOMIC WORKLOAD AUTOMATION

Issue/Introduction

Error Message :
com.uc4.ftpjob.DataTransferException: Connection exception.

Currently thread management with a wild card file transfer (FT) is implemented in a way that the FT terminates if one of the threads throws an exception. The Java standard thread pool is used.

Transferring multiple files in multiple threads uses the java.util.concurrent.ThreadPoolExecutor class. If the limit of connections is reached, there is a exception in one thread, that causes the whole ThreadPoolExecutor fail, the filetransfer stops with error:
 
com.uc4.ftpjob.DataTransferException: Connection exception.
at com.uc4.transfer.CITFTPImpl.<init>(CITFTPImpl.java:170)
at com.uc4.ftpjob.connections.ConnectionFactory$1.run(ConnectionFactory.java:75)
at java.lang.Thread.run(Thread.java:724)
Caused by: org.apache.commons.net.ftp.FTPConnectionClosedException: Connection closed without indication.
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:317)
at org.apache.commons.net.ftp.FTP.__getReply(FTP.java:294)
at org.apache.commons.net.ftp.FTP.sendCommand(FTP.java:483)
at com.uc4.transfer.RAFTPClient.access$001(RAFTPClient.java:26)
at com.uc4.transfer.RAFTPClient$2.run(RAFTPClient.java:130)
at com.uc4.transfer.RAFTPClient$1.run(RAFTPClient.java:85)
... 1 more

The FTP Agent currently does not support to react on a connection failure within one single thread. 
The implementation uses the "java.util.concurrent.ThreadPoolExecutor" class. 

Reaching the limitation of concurrent connection on server side causes an exception in one of the threads which causes the whole TheradPoolExecutor to fail. 
Current behavior is that Agent cannot reliably handle connection limitation on server side. This feature is not implemented. 

Cause

Cause type:
By design
Root Cause: The FTP Agent currently does not support to react on a connection failure within one single thread. 

Environment

OS Version: N/A

Resolution

The FTP Agent currently does not support to react on a connection failure within one single thread. 

The implementation uses the "java.util.concurrent.ThreadPoolExecutor" class. 

Reaching the limitation of concurrent connection on server side causes an exception in one of the threads which causes the whole TheradPoolExecutor to fail. 

 

Fix Status: No Fix

Additional Information

Workaround :
The workaround is to work with a minimum set on threads. In every case lower than the server has configured taking into consideration that the server might have established connections from another client than the Agent.