Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

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
Labels (4)
7 Replies
Anonymous
Not applicable
Author

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
Anonymous
Not applicable
Author

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
Anonymous
Not applicable
Author

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
Anonymous
Not applicable
Author

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
Anonymous
Not applicable
Author

ok vahibhav,
will try this. here is the snapshot of my current job.
0683p000009MBFZ.png
Regards
Anonymous
Not applicable
Author

There are two OnComponentOk to ftpPut... can you make it to onSubJobOk....?
Vaibhav
Anonymous
Not applicable
Author

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