camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Cull (JIRA)" <j...@apache.org>
Subject [jira] Created: (CAMEL-3134) FTP poller seems to hang if it has connection issues in the middle of downloading a file
Date Sat, 18 Sep 2010 05:15:40 GMT
FTP poller seems to hang if it has connection issues in the middle of downloading a file
----------------------------------------------------------------------------------------

                 Key: CAMEL-3134
                 URL: https://issues.apache.org/activemq/browse/CAMEL-3134
             Project: Apache Camel
          Issue Type: Improvement
          Components: camel-ftp
    Affects Versions: 2.4.0
         Environment: JDK 1.6 on windows and linux
            Reporter: Tim Cull
            Priority: Minor


When connecting to a somewhat unstable FTP server, I occasionally have issues where the FTP
poller dies (for all practical purposes because it stops polling, not sure what state it's
actually in) if it encounters a connection issue in the middle of downloading a file.  At
the bottom of this issue is an example stack trace from when this issue occurs.

I believe the exception is caused by a network-level issue with the connection to the remote
FTP server.  This belief is based on the comment by Guy Rouillier in this issue:  
https://issues.apache.org/jira/browse/NET-160

The best fix is probably to put some retry logic in org.apache.camel.component.file.remote.FtpOperations.retrieveFileToFileInLocalWorkDirectory()
such that if this line throws and exception:
result = client.retrieveFile(onlyName, os);

then it closes the local file output stream, deletes the local file (if there's anything there),
disconnects from the FTP server, reconnects, and then tries the download again.



[17/09/10 08:24:20:020 EDT] ERROR remote.FtpConsumer: Caused by: [org.apache.camel.component.file.GenericFileOperationFailedException
- File operation failed
: 125 Data connection open; transfer starting.
 IOException caught while copying.. Code: 125]
org.apache.camel.component.file.GenericFileOperationFailedException: File operation failed:
125 Data connection open; transfer starting.
 IOException caught while copying.. Code: 125
        at org.apache.camel.component.file.remote.FtpOperations.retrieveFileToFileInLocalWorkDirectory(FtpOperations.java:310)
        at org.apache.camel.component.file.remote.FtpOperations.retrieveFile(FtpOperations.java:235)
        at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:254)
        at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:137)
        at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:103)
        at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(Unknown Source)
        at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(Unknown
Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(Unknown
Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown
Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.commons.net.io.CopyStreamException: IOException caught while copying.
        at org.apache.commons.net.io.Util.copyStream(Util.java:129)
        at org.apache.commons.net.ftp.FTPClient.retrieveFile(FTPClient.java:1286)
        at org.apache.camel.component.file.remote.FtpOperations.retrieveFileToFileInLocalWorkDirectory(FtpOperations.java:307)
        ... 14 more
[

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message