Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-4272

Data inconsistency for CMR when connection is broken after database resource commits

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major Major
    • None
    • None
    • JCA
    • None

      Cloned from:
      https://bugzilla.redhat.com/show_bug.cgi?id=1181132

      Ondrej Chaloupka 2015-01-12 08:21:45 EST wrote:
      We've found issue for CMR where data inconsistency occurs. This happens when CMR db resource successfully commits but the connection is broken before TM receives confirmation about such state. As connection got broken XAException.XA_RBROLLBACK is thrown and TM decides to rollback whole XA transaction.
      That ends in situation where db resource was committed and other XA participants are rollbacked.

      This is test flow:

      • prepare DB xa resource
      • prepare test xa resource
      • commit DB xa resource
      • DB commits
      • before confirmation is received by TM the connection crashes
      • jdbc driver returns XAException.XA_RBROLLBACK as connection is down
      • doAbort is called for the transaction
      • test xa resource is rollbacked
      • doForget is called and no information about the inconsistent transaction remains in object store
      • recovery manager does nothing

            jpederse@redhat.com Jesper Pedersen
            thjenkin@redhat.com Tom Jenkinson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: