Random RA FTP jobs fail with solution 4.0.6 or higher with the following errors:
com.uc4.ftpjob.commands.AbortJobException: Job aborted.
Caused by: com.jcraft.jsch.JSchException: channel is not opened.
full stack trace:
com.uc4.ftpjob.commands.AbortJobException: Job aborted.
at com.uc4.ftpjob.commands.CommandProcessor.execCommand(CommandProcessor.java:344)
at com.uc4.ftpjob.commands.CommandProcessor.processCommands(CommandProcessor.java:164)
at com.uc4.ftpjob.commands.CommandProcessor$processCommands$0.call(Unknown Source)
at FtpJob.runJob(FtpAgent.groovy:320)
at com.uc4.extensibility.types.CITAgent.dispatchJob(CITAgent.java:258)
at com.uc4.ex.cit.CITJob.execute(CITJob.java:195)
at com.uc4.ex.Job.run(Job.java:470)
at com.uc4.ex.ThreadPool$RunnableDecorator.run(ThreadPool.java:53)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.uc4.ftpjob.DataTransferException: Connection exception.
at com.uc4.transfer.CITSFTPImpl.<init>(CITSFTPImpl.java:175)
at com.uc4.ftpjob.connections.ConnectionManager$1.run(ConnectionManager.java:87)
... 1 more
Caused by: com.jcraft.jsch.JSchException: channel is not opened.
at com.jcraft.jsch.Channel.sendChannelOpen(Channel.java:765)
at com.jcraft.jsch.Channel.connect(Channel.java:151)
at com.jcraft.jsch.Channel.connect(Channel.java:145)
at com.uc4.transfer.CITSFTPImpl.<init>(CITSFTPImpl.java:158)
... 2 more
Restart of the job does not resolve the issue, but it goes away after some time.
Configuration
Note: this is not related to a defect listed in Article 00316
One of the possible reasons of this error is having Load Balancer on FTP servers, and using Load Balancer link in the connection object for RA FTP jobs.
RA FTP agent has not been designed with Load Balancers in mind. Automic does not have a possibility to detect if Load Balancer link is used in the connection object, since the connection should be fully transparent for the application.
If the connection and file transfer does succeed connecting directly to the SFTP server, and does fail repeatedly when using the Load Balancer, you must contact the vendor of the Load Balancer.