Uploaded image for project: 'JBoss Transaction Manager'
  1. JBoss Transaction Manager
  2. JBTM-1866

HeuristicMixedException reported to client, although backends don't support heuristic completion

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Major
    • None
    • 4.17.4
    • Transaction Core
    • None

    Description

      this bug is related to:
      https://issues.jboss.org/browse/JBTM-1865

      While testing recovery and transaction failures we came across
      two related issues, the test scenario is almost the same, the other
      issue is filed as JBTM-1865

      Scenario:
      2 enlisted XAResources (one for each database used by the test),
      The prepare phase is successful.
      We crash the second database server during the XAResource.commit invocation,
      after it has committed it's branch, right before the control flow would return to the XAResource (which as a result throws a XAException.XA_RBCOMMFAIL).
      The TM can not know at this point in time, whether the database successfully committed the transaction or not. In this particular case, all changes have been committed.
      By definition of the 2PC protocol, the transaction should be considered as "to be committed", because the prepare phase has ended successfully.
      The first branch was successfully committed (as it should be spec.)
      But now things go awry:
      1. The client receives a HeuristicMixedException, although the backend
      does not support heuristic completion at all, i.e. there should be no Heuristic* exception be thrown

      The correct behavior is, to report the transaction as success to the client, commit all other branches. All XAResources which failed during XAResource.commit() are supposed to be recovered in future.

      Attachments

        Activity

          People

            thjenkin@redhat.com Tom Jenkinson
            cvk_jira Christian von Kutzleben (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: