Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-10906

On windows environment, "camel file producer" does not work when "camel file consumer" uses readlock option with filelock

    XMLWordPrintable

Details

    • Bug
    • Resolution: Not a Bug
    • Major
    • None
    • fuse-7.3
    • Camel
    • None
    • % %
    • -
    • Hide
      1. down load attached maven project named fuseReproducer.zip
      2. unzip it and run JUnit test on Windows environment(ex. windows server 2016)

      The test will fail with following exception.

      Stacktrace
      ---------------------------------------------------------------------------------------------------------------------------------------
      org.apache.camel.component.file.GenericFileOperationFailedException: Cannot store file: work\cbr\output\ID-WIN-JTA8KU4EF9D-1561426618994-0-2
      	at org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:352)
      	at org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:305)
      	at org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:169)
      	at org.apache.camel.component.file.GenericFileProducer.process(GenericFileProducer.java:80)
      	at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
      	at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148)
      	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548)
      	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201)
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:138)
      	at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
      	at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201)
      	at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:452)
      	at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:219)
      	at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:183)
      	at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:174)
      	at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:101)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      	at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      	at java.lang.Thread.run(Unknown Source)
      Caused by: java.nio.file.FileSystemException: work\cbr\input\ID-WIN-JTA8KU4EF9D-1561426618994-0-2 -> work\cbr\output\ID-WIN-JTA8KU4EF9D-1561426618994-0-2: The process cannot access the file because it is being used by another process
      	at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
      	at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
      	at sun.nio.fs.WindowsFileCopy.copy(Unknown Source)
      	at sun.nio.fs.WindowsFileSystemProvider.copy(Unknown Source)
      	at java.nio.file.Files.copy(Unknown Source)
      	at org.apache.camel.component.file.FileOperations.writeFileByFile(FileOperations.java:433)
      	at org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:303)
      	... 22 more
      
      Show
      down load attached maven project named fuseReproducer.zip unzip it and run JUnit test on Windows environment(ex. windows server 2016) The test will fail with following exception. Stacktrace --------------------------------------------------------------------------------------------------------------------------------------- org.apache.camel.component.file.GenericFileOperationFailedException: Cannot store file: work\cbr\output\ID-WIN-JTA8KU4EF9D-1561426618994-0-2 at org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:352) at org.apache.camel.component.file.GenericFileProducer.writeFile(GenericFileProducer.java:305) at org.apache.camel.component.file.GenericFileProducer.processExchange(GenericFileProducer.java:169) at org.apache.camel.component.file.GenericFileProducer.process(GenericFileProducer.java:80) at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:148) at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:452) at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:219) at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:183) at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:174) at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:101) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.runAndReset(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.nio.file.FileSystemException: work\cbr\input\ID-WIN-JTA8KU4EF9D-1561426618994-0-2 -> work\cbr\output\ID-WIN-JTA8KU4EF9D-1561426618994-0-2: The process cannot access the file because it is being used by another process at sun.nio.fs.WindowsException.translateToIOException(Unknown Source) at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source) at sun.nio.fs.WindowsFileCopy.copy(Unknown Source) at sun.nio.fs.WindowsFileSystemProvider.copy(Unknown Source) at java.nio.file.Files.copy(Unknown Source) at org.apache.camel.component.file.FileOperations.writeFileByFile(FileOperations.java:433) at org.apache.camel.component.file.FileOperations.storeFile(FileOperations.java:303) ... 22 more

    Description

      Although "camel file consumer" acquired a filelock, "camel file producer" which is in the same camel route does not work because of the access violation.

      Attachments

        Activity

          People

            johnpoth John Poth
            rhn-support-hfuruich Hisao Furuichi
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: