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

clearHeuristic management operation should clear participant's heuristic flag as well as it clears the transaction heuristic flag

XMLWordPrintable

      The management operation clearHeuristic should consider to clear heuristic flag not only from the transaction (BasicAction) but from the participant record as well - when possible, e.g. the XA resource record maintains heuristic flag for participant and thus it should be cleared on the operation.

      The current management operation 'clearHeuristic' is invoked only on the "covering" transaction - BasicAction is modified[1] -> [2] -> [3]. But the XAResourceRecord heuristics state[4] is unchanged. Then during recovery commit retry the XAResource.commit is denied[5].

      [1] https://github.com/jbosstm/narayana/blob/5.10.5.Final/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/osb/mbean/ActionBean.java#L433
      [2] https://github.com/jbosstm/narayana/blob/5.10.5.Final/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/tools/osb/mbean/ActionBean.java#L295
      [3] https://github.com/jbosstm/narayana/blob/5.10.5.Final/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/coordinator/BasicAction.java#L2551
      [4] https://github.com/jbosstm/narayana/blob/5.10.5.Final/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java#L1320
      [5] https://github.com/jbosstm/narayana/blob/5.10.5.Final/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAResourceRecord.java#L463

            ochaloup@redhat.com Ondrej Chaloupka (Inactive)
            ochaloup@redhat.com Ondrej Chaloupka (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: