URGENT: FTP Error

Highlighted
One Star

URGENT: FTP Error

Hi all,
I have multiple jobs running as webservices in the amazon cloud, all jobs contains tftpput components, and for some of them i have the error:
  Exception in component tFTPPut_2 
  com.enterprisedt.net.ftp.ControlChannelIOException: Control channel unexpectedly closed ('' read so far) 
at com.enterprisedt.net.ftp.FTPControlSocket.readLine(FTPControlSocket.java:1019) 
at com.enterprisedt.net.ftp.FTPControlSocket.readReply(FTPControlSocket.java:1049) 
at com.enterprisedt.net.ftp.FTPControlSocket.sendCommand(FTPControlSocket.java:973) 
at com.enterprisedt.net.ftp.FTPClient.chdir(FTPClient.java:3722) 
at altares.transformbrinks_0_44.transformBrinks.tFTPPut_2Process(transformBrinks.java:4175) 
at altares.transformbrinks_0_44.transformBrinks.tFileList_2Process(transformBrinks.java:4001) 
at altares.transformbrinks_0_44.transformBrinks.tFTPGet_2Process(transformBrinks.java:9718) 
at altares.transformbrinks_0_44.transformBrinks.tFTPConnection_2Process(transformBrinks.java:9970) 
at altares.transformbrinks_0_44.transformBrinks.tJava_1Process(transformBrinks.java:9839) 
at altares.transformbrinks_0_44.transformBrinks.runJobInTOS(transformBrinks.java:13391) 
at altares.transformbrinks_0_44.transformBrinks.runJob(transformBrinks.java:13270) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397) 
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186) 
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323) 
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) 
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) 
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) 
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454) 
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) 
at org.apache.axis.transport.http.QSMethodHandler.invokeEndpointFromGet(QSMethodHandler.java:129) 
at org.apache.axis.transport.http.QSMethodHandler.invoke(QSMethodHandler.java:94) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1226) 
at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:249) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
at net.stax.appserver.webapp.RequestMonitorValve.invoke(RequestMonitorValve.java:35) 
at net.stax.appserver.admin.StaxApplicationQueryValve.invoke(StaxApplicationQueryValve.java:49) 
at net.stax.appserver.webapp.RequestSetupValve.invoke(RequestSetupValve.java:31) 
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:652) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) 
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
at java.lang.Thread.run(Thread.java:662) 
Please can you help me to troubleshoot this issue? 
PS: I am using TOS 5.5.1.R118616
Best Regards
Highlighted
One Star

Re: URGENT: FTP Error

Hi all,
I have multiple jobs running as webservices in the amazon cloud, all jobs contains tftpput components, and for some of them i have the error:

  Exception in component tFTPPut_2 
  com.enterprisedt.net.ftp.ControlChannelIOException: Control channel unexpectedly closed ('' read so far) 
at com.enterprisedt.net.ftp.FTPControlSocket.readLine(FTPControlSocket.java:1019) 
at com.enterprisedt.net.ftp.FTPControlSocket.readReply(FTPControlSocket.java:1049) 
at com.enterprisedt.net.ftp.FTPControlSocket.sendCommand(FTPControlSocket.java:973) 
at com.enterprisedt.net.ftp.FTPClient.chdir(FTPClient.java:3722) 
at altares.transformbrinks_0_44.transformBrinks.tFTPPut_2Process(transformBrinks.java:4175) 
at altares.transformbrinks_0_44.transformBrinks.tFileList_2Process(transformBrinks.java:4001) 
at altares.transformbrinks_0_44.transformBrinks.tFTPGet_2Process(transformBrinks.java:9718) 
at altares.transformbrinks_0_44.transformBrinks.tFTPConnection_2Process(transformBrinks.java:9970) 
at altares.transformbrinks_0_44.transformBrinks.tJava_1Process(transformBrinks.java:9839) 
at altares.transformbrinks_0_44.transformBrinks.runJobInTOS(transformBrinks.java:13391) 
at altares.transformbrinks_0_44.transformBrinks.runJob(transformBrinks.java:13270) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397) 
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186) 
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323) 
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) 
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) 
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) 
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454) 
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) 
at org.apache.axis.transport.http.QSMethodHandler.invokeEndpointFromGet(QSMethodHandler.java:129) 
at org.apache.axis.transport.http.QSMethodHandler.invoke(QSMethodHandler.java:94) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1226) 
at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:249) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
at net.stax.appserver.webapp.RequestMonitorValve.invoke(RequestMonitorValve.java:35) 
at net.stax.appserver.admin.StaxApplicationQueryValve.invoke(StaxApplicationQueryValve.java:49) 
at net.stax.appserver.webapp.RequestSetupValve.invoke(RequestSetupValve.java:31) 
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:652) 
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) 
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
at java.lang.Thread.run(Thread.java:662) 

Please can you help me to troubleshoot this issue? 
PS: I am using TOS 5.5.1.R118616

Best Regards
Highlighted
Four Stars

Re: URGENT: FTP Error

Hi,
Whether your connection component tFTPConnection is succesfully making the connection? if you have multiple subjobs, whether all the jobs contains this connection component... can you show the job design screenshot?
vaibhav
Highlighted
One Star

Re: URGENT: FTP Error

Hi vaibhav,
see the more detailed log:
                 2014-10-18 02:00:41|ife7eM|ife7eM|ife7eM|30995|project|job1|_MWjqcD4-EeKOF9J2mpfaYw|0.44|Default|tFTPConnection_2|begin|| 
                 2014-10-18 02:00:41|ife7eM|ife7eM|ife7eM|30995|project|job1|_MWjqcD4-EeKOF9J2mpfaYw|0.44|Default|tFTPConnection_2|end|success|165 
                 2014-10-18 02:00:41|ife7eM|ife7eM|ife7eM|30995|project|job1|_MWjqcD4-EeKOF9J2mpfaYw|0.44|Default|tFTPGet_2|begin|| 
                 2014-10-18 02:00:44|ife7eM|ife7eM|ife7eM|30995|project|job1|_MWjqcD4-EeKOF9J2mpfaYw|0.44|Default|tFTPGet_2|end|success|2826 
                 2014-10-18 02:00:44|ife7eM|ife7eM|ife7eM|30995|project|job1|_MWjqcD4-EeKOF9J2mpfaYw|0.44|Default|tFTPPut_8|begin|| 
                 2014-10-18 02:00:45|ife7eM|ife7eM|ife7eM|30995|project|job1|_MWjqcD4-EeKOF9J2mpfaYw|0.44|Default|tFTPPut_8|end|success|913 
                2014-10-18 02:07:56|ife7eM|ife7eM|ife7eM|30995|project|job1|_MWjqcD4-EeKOF9J2mpfaYw|0.44|Default|tFTPPut_2|begin|| 
  Exception in component tFTPPut_2 
  com.enterprisedt.net.ftp.ControlChannelIOException: Control channel unexpectedly closed ('' read so far) 
  at com.enterprisedt.net.ftp.FTPControlSocket.readLine(FTPControlSocket.java:1019) 
  at com.enterprisedt.net.ftp.FTPControlSocket.readReply(FTPControlSocket.java:1049) 
  at com.enterprisedt.net.ftp.FTPControlSocket.sendCommand(FTPControlSocket.java:973) 
  at com.enterprisedt.net.ftp.FTPClient.chdir(FTPClient.java:3722) 
  at altares.transformbrinks_0_44.transformBrinks.tFTPPut_2Process(transformBrinks.java:4175) 
  at altares.transformbrinks_0_44.transformBrinks.tFileList_2Process(transformBrinks.java:4001) 
  at altares.transformbrinks_0_44.transformBrinks.tFTPGet_2Process(transformBrinks.java:9718) 
  at altares.transformbrinks_0_44.transformBrinks.tFTPConnection_2Process(transformBrinks.java:9970) 
  at altares.transformbrinks_0_44.transformBrinks.tJava_1Process(transformBrinks.java:9839) 
  at altares.transformbrinks_0_44.transformBrinks.runJobInTOS(transformBrinks.java:13391) 
  at altares.transformbrinks_0_44.transformBrinks.runJob(transformBrinks.java:13270) 
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
  at java.lang.reflect.Method.invoke(Method.java:597) 
  at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397) 
  at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186) 
  at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323) 
  at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) 
  at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) 
  at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) 
  at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454) 
  at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281) 
  at org.apache.axis.transport.http.QSMethodHandler.invokeEndpointFromGet(QSMethodHandler.java:129) 
  at org.apache.axis.transport.http.QSMethodHandler.invoke(QSMethodHandler.java:94) 
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
  at java.lang.reflect.Method.invoke(Method.java:597) 
  at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1226) 
  at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:249) 
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
  at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327) 
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:723) 
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
  at net.stax.appserver.webapp.RequestMonitorValve.invoke(RequestMonitorValve.java:35) 
  at net.stax.appserver.admin.StaxApplicationQueryValve.invoke(StaxApplicationQueryValve.java:49) 
  at net.stax.appserver.webapp.RequestSetupValve.invoke(RequestSetupValve.java:31) 
  at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:652) 
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) 
  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 
  at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
  at java.lang.Thread.run(Thread.java:662) 
The job is quite simple:
tftpconnection====>tftpget(copy to local folder)=====>tfilelist===>tfileinputdelimited===>tftpput(rename and copy original file to remote folder)======>tftptransform process=====>tfileoutputdelimited====>tftpput(rename and copy transformed file to remote dir).

thank you
Highlighted
Four Stars

Re: URGENT: FTP Error

I think after first tFTPPut, the FTP connection is partially closed, do you have onSubjobOk links properly set between components?
Use tFtpConnection component with the tPreJob
tPreJob-->OnComponentOk--tFtpConnection 
tFTPGet(Use existing connection)-->your flow goes here
|
OnSubJobOk
|
tftptransform process-->your flow goes here
Try this way...
Vaibhav
Highlighted
One Star

Re: URGENT: FTP Error

ok vahibhav,
will try this. here is the snapshot of my current job.

Regards
Highlighted
Four Stars

Re: URGENT: FTP Error

There are two OnComponentOk to ftpPut... can you make it to onSubJobOk....?
Vaibhav
Highlighted
One Star

Re: URGENT: FTP Error

Hi,
the 1st tftpput is to save to the remote folder the file before transformations. It will be renamed "save_*".  
the 2nd tftpput is to save to the remote folde the transformed file (after tmap). It will be renamed "transformed_*"
the the reason i used 2 tftpput, because it is to put 2 different file on the remote server.
Regards
 

2019 GARTNER MAGIC QUADRANT FOR DATA INTEGRATION TOOL

Talend named a Leader.

Get your copy

OPEN STUDIO FOR DATA INTEGRATION

Kickstart your first data integration and ETL projects.

Download now

Best Practices for Using Context Variables with Talend – Part 2

Part 2 of a series on Context Variables

Blog

Best Practices for Using Context Variables with Talend – Part 1

Learn how to do cool things with Context Variables

Blog

Migrate Data from one Database to another with one Job using the Dynamic Schema

Find out how to migrate from one database to another using the Dynamic schema

Blog