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