David Cifer created CAMEL-5282:
----------------------------------

             Summary: Strange race condition in for SEDA, when shutting down in 
Camel 2.9.1
                 Key: CAMEL-5282
                 URL: https://issues.apache.org/jira/browse/CAMEL-5282
             Project: Camel
          Issue Type: Bug
          Components: camel-core
    Affects Versions: 2.9.1
         Environment: Windows XP, jdk1.6.0_29
            Reporter: David Cifer
            Priority: Critical


We have file endpoints, with idemptotent file repository feeds into a SEDA 
chanel.
Behind the SEDA is a solution, which can only deal one file at a time.

If the system some reason shutdowns, than on restart we shouldn't consume 
already consumed files.

If exception occurs, we shutdown our application.
This behaviour assured by a unit test, which begin to fail when we introduce 
timeout=0 configuration.

Here is the pseudo code:

onException(RuntimeException.class).process(new ShutDown());
        
from("file:/tempfolder/files/?idempotent=true&noop=true&idempotentRepository=#repo&delay=1000")
            .inOut("seda:process?timeout=0");
        
from("seda:process").delay(1000).throwException(new RuntimeException("Testing 
with exception"));

I use inOut so the file thread, waits for SEDA to acomplish. This serves as 
there is an exception happens behind seda side, by using DefaultErrorHandler 
strategy it propagates back to file endpoint and the sent file, won't be marked 
consumed.

With 2.9.1 the files marked as consumed (meaning recorded in the idempotent 
repository) 90% of the times. I say % because sometimes the test passes without 
any issue. On 2.9.0 I wasn't able to reproduce the error.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to