camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bhuvan Gupta (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-12112) Camel processing single file twice in 'file' endpoint
Date Thu, 11 Jan 2018 12:17:13 GMT

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

Bhuvan Gupta commented on CAMEL-12112:
--------------------------------------

Thanks.. 

{code:java}
.threads(1, 10).maxQueueSize(0)
{code}

this strategy makes sense now.



> Camel processing single file twice in 'file' endpoint
> -----------------------------------------------------
>
>                 Key: CAMEL-12112
>                 URL: https://issues.apache.org/jira/browse/CAMEL-12112
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.17.7, 2.18.5, 2.19.4, 2.20.1
>         Environment: 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.
>            Reporter: Bhuvan Gupta
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 2.20.2, 2.21.0
>
>         Attachments: App.java, myarchive1.7z
>
>
>  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
> {code:java}
> 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)
> {code}
> 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



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

Mime
View raw message