Uploaded image for project: 'FUSE Mediation Router'
  1. FUSE Mediation Router
  2. MR-78

Transactional Error Handler does not work with the File component.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Critical Critical
    • 1.4.2.0-fuse
    • 1.4.0.0-fuse, 1.4.1.0-fuse
    • None
    • None

      Customer comments:
      ==================
      This test case exercises the camel transaction support with File Component. It demonstrates that the 1.4.0 release does not handle failures correctly in transactional routes whose starting endpoint is a file poller.

      Notes:

      a) this is currently configured for a mysql database (in the context defn)
      b) the location of the file dir is hardwired in the context and the java test class.

      Problems:

      • There are no redelivery attempts.
      • The behaviour is not transactional - writes to the database are not rolled back.
      • Failure on file 2 does not prevent files 3 & 4 being processed.

      Support comments:
      =================
      All behavior described by the customer was reproduced on test environment. Part of these problems were already
      observed in the link above. Looks like the association of transaction support with a route scoped error handler is
      not working as expected.

      I am not sure the third problem (Failure on file 2 does not prevent files 3 & 4 being processed.) is a problem.
      In my opinion each file created in the source directory creates a distinct exchange in the camel route so each
      one is related to a distinct transaction.

      The customer reported the files were moved in transaction roll back scenarios. I was unable to reproduce this
      behavior. When an exception was raised by the ExceptionThrowerProcessor, the files were not moved to the
      destination directory. But something strange happened in these cases: the ".lock" files are not removed
      from the source directory. Not sure if this is excepted behavior. Maybe this is a way to prevent the file component to
      keep trying to process a defective file but I am not sure.

      The diagnose:
      =============
      There is a bug in errorHandler component that is reproduced by this test case. The errorHandler is not retrying
      to deliver the messages and the transaction is not being rolled back after an exception is raised be a processor.

            janstey@redhat.com Jonathan Anstey
            pedroneveu Pedro Neveu (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: