hi, did you check default behaviour of file consumer depending on your
environment and readLock option on the endpoint as well?

On Tue, Jan 2, 2018 at 8:02 AM, Bhuvan Gupta <bhuva...@gmail.com> wrote:

> Hello nice people,
>
> We are using camel 2.17 with java 1.7 in our sample project and 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.GenericFileProcessS
> trategySupport.renameFile(GenericFileProcessStrategySupport.java:115)
> at org.apache.camel.component.file.strategy.GenericFileRenamePr
> ocessStrategy.commit(GenericFileRenameProcessStrategy.java:88)
> at org.apache.camel.component.file.GenericFileOnCompletion.proc
> essStrategyCommit(GenericFileOnCompletion.java:127)
> at org.apache.camel.component.file.GenericFileOnCompletion.onCo
> mpletion(GenericFileOnCompletion.java:83)
> at org.apache.camel.component.file.GenericFileOnCompletion.onCo
> mplete(GenericFileOnCompletion.java:57)
> at org.apache.camel.util.UnitOfWorkHelper.doneSynchronizations(
> UnitOfWorkHelper.java:104)
> at org.apache.camel.impl.DefaultUnitOfWork.done(DefaultUnitOfWo
> rk.java:229)
> at org.apache.camel.util.UnitOfWorkHelper.doneUow(UnitOfWorkHel
> per.java:65)
> at org.apache.camel.processor.CamelInternalProcessor$UnitOfWork
> ProcessorAdvice.after(CamelInternalProcessor.java:654)
> at org.apache.camel.processor.CamelInternalProcessor$UnitOfWork
> ProcessorAdvice.after(CamelInternalProcessor.java:609)
> at org.apache.camel.processor.CamelInternalProcessor$InternalCa
> llback.done(CamelInternalProcessor.java:239)
> at org.apache.camel.processor.CamelInternalProcessor$InternalCa
> llback.done(CamelInternalProcessor.java:250)
> at org.apache.camel.processor.RedeliveryErrorHandler$1.done(Red
> eliveryErrorHandler.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(ThreadPool
> Executor.java:1145)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoo
> lExecutor.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 Main class as well as the project zip
>
> AND HAPPY NEW YEAR.
>
> hoping to resolve it soon
>
>
>
>
>

Reply via email to