RA FTP jobs fails with error: com.uc4.ftpjob.DataTransferException: FTP connection could not be established, wait time exceeded

Document ID : KB000088222
Last Modified Date : 14/04/2018
Show Technical Document Details
Issue:
Executing an RA FTP job causes the following error: com.uc4.ftpjob.DataTransferException: FTP connection could not be established, wait time exceeded.

Interesting to note that just by clicking on the FTP tab in the job itself the popup is displayed with the error mentioned above.

When executing the job, SOME files do get transferred to the target, but not ALL of them. Which files get transferred is random, so you'll have to verify which files are actually transferred.
 
In the trace files, errors will be present with various exceptions (an example):

java.lang.reflect.InvocationTargetException
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
                at java.lang.reflect.Method.invoke(Method.java:508)
                at com.uc4.be.util.InvokeUtil.invoke(InvokeUtil.java:107)
                at com.uc4.be.util.InvokeUtil.invoke(InvokeUtil.java:54)
                at com.uc4.ex.cit.CITJob.executeFormsRequest(CITJob.java:328)
                at com.uc4.ex.cit.CITJob.execute(CITJob.java:179)
                at com.uc4.ex.GUIJob.run(GUIJob.java:110)
                at com.uc4.ex.ThreadPool$RunnableDecorator.run(ThreadPool.java:53)
                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:522)
                at java.util.concurrent.FutureTask.run(FutureTask.java:277)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
                at java.lang.Thread.run(Thread.java:785)
Caused by: com.uc4.ftpjob.DataTransferException: FTP connection could not be established, wait time exceeded.
                at com.uc4.ftpjob.connections.ConnectionFactory.getConnection(ConnectionFactory.java:153)
                at com.uc4.ftpjob.connections.ConnectionFactory$getConnection.call(Unknown Source)
                at FtpAgentImpl.ftpPwd(FtpAgent.groovy:168)
                ... 15 more

 
The Job Report will throw an exception as well:
 
com.uc4.ftpjob.commands.AbortJobException: Job aborted.
at com.uc4.ftpjob.commands.CommandProcessor.execCommand(CommandProcessor.java:357)
at com.uc4.ftpjob.commands.CommandProcessor.processCommands(CommandProcessor.java:164)
at com.uc4.ftpjob.commands.CommandProcessor$processCommands.call(Unknown Source)
at FtpJob.runJob(FtpAgent.groovy:304)
at com.uc4.extensibility.types.CITAgent.dispatchJob(CITAgent.java:258)
at com.uc4.ex.cit.CITJob.execute(CITJob.java:194)
at com.uc4.ex.Job.run(Job.java:469)
at com.uc4.ex.ThreadPool$RunnableDecorator.run(ThreadPool.java:53)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:522)
at java.util.concurrent.FutureTask.run(FutureTask.java:277)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.lang.Thread.run(Thread.java:785)
Caused by: com.uc4.ftpjob.DataTransferException: FTP connection could not be established, wait time exceeded.
at com.uc4.ftpjob.connections.ConnectionFactory.getConnection(ConnectionFactory.java:153)
at com.uc4.ftpjob.commands.CommandProcessor.createInitialConnections(CommandProcessor.java:196)
at com.uc4.ftpjob.commands.CommandProcessor.execCommand(CommandProcessor.java:318)
... 12 more
Resolution:
The workaround is to transfer files manually, which can be tedious if there are a lot of files.
The FTP connection aborts even though it is possible to perform a direct FTP connection from one server to another.
 
First, check if it is possible to FTP to another server.
If you can, try rebooting the servers – this was taken as a troubleshooting step. After the restart, the job was tested and ALL of the files were transferred, and the error was no longer present.