You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Clemens Blamauer (JIRA)" <ji...@apache.org> on 2019/06/20 14:08:00 UTC
[jira] [Created] (CAMEL-13667) Windows network UNC paths not
treated correctly (File2/tempPrefix)
Clemens Blamauer created CAMEL-13667:
----------------------------------------
Summary: Windows network UNC paths not treated correctly (File2/tempPrefix)
Key: CAMEL-13667
URL: https://issues.apache.org/jira/browse/CAMEL-13667
Project: Camel
Issue Type: Bug
Components: came-core
Affects Versions: 2.22.2
Reporter: Clemens Blamauer
Attachments: Windows_network_UNC_paths_not_treated_correctly_(File2_tempPrefix).patch
Dear all,
We are using Camel's File2 endpoint to deliver reports to a Windows network share. The used URI is (here in a properties file):
{{# File URI equivalent of \\FILESERVER.mycompany.local\Public\reports}}
{{report.delivery.to=file:////FILESERVER.mycompany.local/Public/reports?keepLastModified=true&tempPrefix=tmp_}}
This results in an exception, see the stack trace below.
I debugged and traced the issue back to:
{{org.apache.camel.component.file.GenericFileProducer#createTempFileName}}
which is using
{{org.apache.camel.util.FileUtil#compactPath(java.lang.String, java.lang.String)}}
This method only preserves the first slash/backslash at the start. For UNC paths on Windows however, 2 backslashes are needed.
I prepared a patch for:
* {{org.apache.camel.util.FileUtil}}
* {{org.apache.camel.util.FileUtilTest}}
which remedies the issue on Windows.
I would appreciate if you could check the patch, and integrate it to 2.x and 3.x branches if it is ok.
Thank you.
Kind regards,
Clemens
*Stack trace*
{{org.apache.camel.component.file.GenericFileOperationFailedException: Error renaming file from {color:#FF0000}\{color}FILESERVER.mycompany.local\Public\reports\20190415\tmp_eod_report_20190415.csv to {color:#14892c}\\{color}FILESERVER.mycompany.local\Public\reports\20190415\eod_report_20190415.csv}}
{{ at org.apache.camel.component.file.FileOperations.renameFile(FileOperations.java:81) ~[camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:202) ~[camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.component.file.GenericFileProducer.process(GenericFileProducer.java:80) ~[camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) ~[camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148) ~[camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.component.direct.DirectBlockingProducer.process(DirectBlockingProducer.java:53) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:715) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.processor.MulticastProcessor.doProcessSequential(MulticastProcessor.java:638) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:248) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:454) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:223) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:187) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:174) [camel-core-2.22.2.jar:2.22.2]}}
{{ at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:101) [camel-core-2.22.2.jar:2.22.2]}}
{{ at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_212]}}
{{ at java.util.concurrent.FutureTask.runAndReset$$$capture(FutureTask.java:308) [?:1.8.0_212]}}
{{ at java.util.concurrent.FutureTask.runAndReset(FutureTask.java) [?:1.8.0_212]}}
{{ at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:1.8.0_212]}}
{{ at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:1.8.0_212]}}
{{ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_212]}}
{{ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_212]}}
{{ at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]}}
{{Caused by: java.nio.file.NoSuchFileException: {color:#d04437}\{color}FILESERVER.mycompany.local\Public\reports\20190415\tmp_eod_report_20190415.csv -> {color:#14892c}\\{color}FILESERVER.mycompany.local\Public\reports\20190415\eod_report_20190415.csv}}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)