Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-12112

Camel processing single file twice in 'file' endpoint

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Not A Problem
    • 2.17.7, 2.18.5, 2.19.4, 2.20.1
    • 2.20.2, 2.21.0
    • camel-core
    • None
    • We are trying with Apache Camel core 2.18.5, 2.19.4, 2.20.1 Oracle Java 1.8, we have tried on Ubuntu and window 7 both.

    Description

      we defined our route as:

      from("file:stageDummy")
      .threads(1)
      .process(myProcess);

      We first add 1000 file in stageDummy folder, then we run the code and we get exception as below

      org.apache.camel.component.file.GenericFileOperationFailedException: Cannot rename file: GenericFile[newFile319] to: GenericFile[.camel/newFile319]
      	at org.apache.camel.component.file.strategy.GenericFileProcessStrategySupport.renameFile(GenericFileProcessStrategySupport.java:115)
      	at org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy.commit(GenericFileRenameProcessStrategy.java:88)
      	at org.apache.camel.component.file.GenericFileOnCompletion.processStrategyCommit(GenericFileOnCompletion.java:127)
      	at org.apache.camel.component.file.GenericFileOnCompletion.onCompletion(GenericFileOnCompletion.java:83)
      	at org.apache.camel.component.file.GenericFileOnCompletion.onComplete(GenericFileOnCompletion.java:57)
      	at org.apache.camel.util.UnitOfWorkHelper.doneSynchronizations(UnitOfWorkHelper.java:104)
      	at org.apache.camel.impl.DefaultUnitOfWork.done(DefaultUnitOfWork.java:229)
      	at org.apache.camel.util.UnitOfWorkHelper.doneUow(UnitOfWorkHelper.java:65)
      	at org.apache.camel.processor.CamelInternalProcessor$UnitOfWorkProcessorAdvice.after(CamelInternalProcessor.java:654)
      	at org.apache.camel.processor.CamelInternalProcessor$UnitOfWorkProcessorAdvice.after(CamelInternalProcessor.java:609)
      	at org.apache.camel.processor.CamelInternalProcessor$InternalCallback.done(CamelInternalProcessor.java:239)
      	at org.apache.camel.processor.CamelInternalProcessor$InternalCallback.done(CamelInternalProcessor.java:250)
      	at org.apache.camel.processor.RedeliveryErrorHandler$1.done(RedeliveryErrorHandler.java:480)
      	at org.apache.camel.management.InstrumentationProcessor$1.done(InstrumentationProcessor.java:86)
      	at org.apache.camel.processor.Pipeline$1.done(Pipeline.java:148)
      	at org.apache.camel.processor.ThreadsProcessor$ProcessCall.run(ThreadsProcessor.java:85)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:745)
      
      
      

      As per our understanding camel picks up the file from the mentioned directory i.e in my case-stageDummy and processed by process-myProcess
      and moves it to .camel sub folder.We noticed that if we were having more than or around 1000 files in the folder -stageDummy ,there were some exceptions
      thrown

      This exception is thrown randomly for n number of files,where n changes everytime we execute our main.Note that we were not trying to access the exchange
      instead we kept our process simple.We could see that if there are 1000 files in our folder then the processor is getting called 1000+x times ,where x changes everytime example it gets called 1024 times,and we could see that camel is trying to process these x number of files again

      We are attaching the Sample Main class

      Attachments

        1. myarchive1.7z
          8 kB
          Bhuvan Gupta
        2. App.java
          3 kB
          Bhuvan Gupta

        Activity

          People

            davsclaus Claus Ibsen
            Bhuvangu Bhuvan Gupta
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: