[ 
https://issues.apache.org/jira/browse/CAMEL-11387?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16144245#comment-16144245
 ] 

Cherry Ngai commented on CAMEL-11387:
-------------------------------------

[~davsclaus], 

Same code with camel v2.17.3.  The temp file is created 
($linuxServer/myfolder1/myfolder2/test.txt.part), but exception when renaming.

Step 1: Camel v2.17.3 is running on Window server
Step 2: File is placed in 
$windowServer/sourceFolder/myfolder1/myfolder2/test.txt, and expecting to 
delivery to $linuxServer/myfolder1/myfolder2/test.txt. 
Step 3: $linuxServer/myfolder1/myfolder2/test.txt.part is created
Step 4: exception to rename to the file 
$linuxServer/myfolder1/myfolder2/test.txt.part to 
$linuxServer/myfolder1/myfolder2/test.txt.

Debug message:
{code}
[hread #6 - file://sourceFolder] SftpOperations                 INFO  Connected 
to sftp://username@linuxServer:22
[hread #6 - file://sourceFolder] RemoteFileProducer             DEBUG Connected 
and logged in to: 
Endpoint[sftp://username@linuxServer?tempFileName=%24%7Bfile%3Aonlyname%7D.part]
[hread #6 - file://sourceFolder] SftpOperations                 DEBUG Trying to 
build remote directory: myfolder1/myfolder2
[hread #6 - file://sourceFolder] GenericFileConverter           DEBUG Read file 
sourceFolder\myfolder1\myfolder2\test.txt (no charset)
[hread #6 - file://sourceFolder] SftpOperations                 DEBUG About to 
store file: test.txt.part using stream: java.io.BufferedInputStream@755bc403
[hread #6 - file://sourceFolder] SftpOperations                 DEBUG Took 
0.031 seconds (31 millis) to store file: test.txt.part and FTP client returned: 
true
[hread #6 - file://sourceFolder] RemoteFileProducer             DEBUG Wrote 
[myfolder1\myfolder2\test.txt.part] to 
[Endpoint[sftp://username@linuxServer?tempFileName=%24%7Bfile%3Aonlyname%7D.part]]
[hread #6 - file://sourceFolder] SftpOperations                 DEBUG Renaming 
file: myfolder1\myfolder2\test.txt.part to: myfolder1\myfolder2\test.txt
[hread #6 - file://sourceFolder] RemoteFileProducer             WARN  Writing 
file failed with: Cannot rename file from: myfolder1\myfolder2\test.txt.part 
to: myfolder1\myfolder2\test.txt
[hread #6 - file://sourceFolder] RemoteFileProducer             DEBUG 
Disconnecting from: 
Endpoint[sftp://username@linuxServer?tempFileName=%24%7Bfile%3Aonlyname%7D.part]
[hread #6 - file://sourceFolder] DefaultErrorHandler            DEBUG Failed 
delivery for (MessageId: ID-WINDOWSERVER-55343-1503948693519-0-1 on ExchangeId: 
ID-WINDOWSERVER-55343-1503948693519-0-2). On delivery attempt: 0 caught: 
org.apache.camel.component.file.GenericFileOperationFailedException: Cannot 
rename file from: myfolder1\myfolder2\test.txt.part to: 
myfolder1\myfolder2\test.txt
[hread #6 - file://sourceFolder] DefaultErrorHandler            ERROR Failed 
delivery for (MessageId: ID-WINDOWSERVER-55343-1503948693519-0-1 on ExchangeId: 
ID-WINDOWSERVER-55343-1503948693519-0-2). Exhausted after delivery attempt: 1 
caught: org.apache.camel.component.file.GenericFileOperationFailedException: 
Cannot rename file from: myfolder1\myfolder2\test.txt.part to: 
myfolder1\myfolder2\test.txt

Message History
---------------------------------------------------------------------------------------------------------------------------------------
RouteId              ProcessorId          Processor                             
                                           Elapsed (ms)
[route2            ] [route2            ] 
[file://sourceFolder?delay=60000&recursive=true                                
] [     22188]
[route2            ] [log3              ] [log                                  
                                         ] [        35]
[route2            ] [to5               ] 
[sftp://username@linuxServer?tempFileName=${file:onlyname}.part                
] [     21660]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------
org.apache.camel.component.file.GenericFileOperationFailedException: Cannot 
rename file from: myfolder1\myfolder2\test.txt.part to: 
myfolder1\myfolder2\test.txt
        at 
org.apache.camel.component.file.remote.SftpOperations.renameFile(SftpOperations.java:431)[camel-ftp-2.17.3.jar:2.17.3]
        at 
org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:198)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.component.file.remote.RemoteFileProducer.process(RemoteFileProducer.java:58)[camel-ftp-2.17.3.jar:2.17.3]
        at 
org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:173)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:341)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:168)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:163)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:468)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.processor.Pipeline.process(Pipeline.java:121)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.processor.Pipeline.process(Pipeline.java:83)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:454)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:226)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:190)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:175)[camel-core-2.17.3.jar:2.17.3]
        at 
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:102)[camel-core-2.17.3.jar:2.17.3]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_131]
        at 
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)[:1.8.0_131]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)[:1.8.0_131]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)[:1.8.0_131]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_131]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_131]
        at java.lang.Thread.run(Thread.java:748)[:1.8.0_131]
[hread #6 - file://sourceFolder] Pipeline                       DEBUG Message 
exchange has failed: so breaking out of pipeline for exchange: 
Exchange[ID-VACSWVNGAI02-55343-1503948693519-0-2] Exception: 
org.apache.camel.component.file.GenericFileOperationFailedException: Cannot 
rename file from: myfolder1\myfolder2\test.txt.part to: 
myfolder1\myfolder2\test.txt
[hread #6 - file://sourceFolder] GenericFileOnCompletion        DEBUG Done 
processing file: GenericFile[myfolder1\myfolder2\test.txt] using exchange: 
Exchange[ID-VACSWVNGAI02-55343-1503948693519-0-2]
[hread #6 - file://sourceFolder] GenericFileOnCompletion        WARN  Rollback 
file strategy: 
org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@4dbe767f
 for file: GenericFile[myfolder1\myfolder2\test.txt]
[hread #6 - file://sourceFolder] FileUtil                       DEBUG Retrying 
attempt 0 to delete file: 
E:\relay\sourceFolder\myfolder1\myfolder2\test.txt.camelLock
[hread #6 - file://sourceFolder] FileUtil                       DEBUG Tried 1 
to delete file: E:\relay\sourceFolder\myfolder1\myfolder2\test.txt.camelLock 
with result: true
{code}

> SFTP is delivered into incorrect location, without exception (file in 
> subfolder + temp file is created + Camel running on Window & SFTP server 
> running on LINUX)
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-11387
>                 URL: https://issues.apache.org/jira/browse/CAMEL-11387
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-sftp
>    Affects Versions: 2.19.0
>         Environment: camel is running on Window, and SFTP server is LINUX
>            Reporter: Cherry Ngai
>            Priority: Minor
>   Original Estimate: 168h
>  Remaining Estimate: 168h
>
> The bug only happens when:
> i) file in subfolder
> ii) temp file is created 
> iii) Camel running on Window & SFTP server running on LINUX
> Route Configuration:
> {code}
>  from("file://sourceFolder?recursive=true&delay=60000").
>  to("sftp://username@linuxServer?tempFileName=${file:onlyname}.part";);
> {code}
> NOTES: added separator=UNIX or AUTO, I got the same issue.
> Window Local File: sourceFolder/myfolder1/myfolder2/test.txt
> FTPS Remote File Delivered: $linuxServer/myfolder1myfolder2test.txt
> NOTES: 
> * There is no exception throw in 2.19.0, even though the file delivered into 
> incorrect location.  
> * In 2.17.3, exception throw at 
> org.apache.camel.component.file.remote.SftpOperations.renameFile(SftpOperations.java:431)[camel-ftp-2.17.3.jar:2.17.3]
> * Without tempFileName, it works perfectly.  Issue is around the rename area.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to