Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-1583 Primary key violation on JMS_TRANSACTIONS
  3. JBAS-2056

JMS_TRANSACTIONS constraint violation is not completely fixed

XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Done
    • Icon: Major Major
    • JBossAS-4.0.3 Final
    • JBossAS-4.0.2 Final, JBossAS-4.0.3RC1
    • JMS (JBossMQ)
    • None
    • Compatibility/Configuration

      The fix for the constraint violation on JMS_TRANSACTIONS in JBAS-1583 does not always solve the problem.

      The problem could still occur if recovery completes succesfully but then JBoss crashes immediately.
      In this case, the original problem will still occur on subsequent recovery attempts.

      The recovery algorithm needs to be fixed to cater for repeat recovery attempts.
      i.e. It should select the maximum transaction id from both JMS_MESSAGES and JMS_TRANSACTIONS

      SELECT_MAX_TX = SELECT MAX(TXID) FROM (SELECT MAX(TXID) FROM JMS_TRANSACTIONS UNION SELECT MAX(TXID) FROM JMS_MESSAGES)

      Additonally, the root cause of the problem is that JMS_TRANSACTIONS should really be cleared
      DELETE FROM JMS_TRANSACTIONS
      when recovery is successful.

            csuconic@redhat.com Clebert Suconic
            adrian.brock Adrian Brock (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: