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

Strange race condition in for SEDA, when shutting down in Camel 2.9.1

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Not A Problem
    • 2.9.1
    • 2.9.3, 2.10.0
    • camel-core
    • None
    • Windows XP, jdk1.6.0_29

    • Unknown

    Description

      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.

      NOTE: When you remove the timeout, than behaviour will be fine
      So on 2.9.0 and 2.9.1 with positive timeout there is no issue.
      In 2.9.1 timeout < 1 there is issue.

      Attachments

        1. SedaTimeoutTest.java
          2 kB
          David Cifer
        2. TimeoutSetToDefault30SecSedaTimeoutTest.java
          2 kB
          David Cifer

        Activity

          People

            davsclaus Claus Ibsen
            edvicif David Cifer
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: