4 Replies Latest reply on Jun 19, 2012 1:59 AM by wdfink

    Removing DB2 in-doubt transactions when transaction manager fails

    msanda

      Hi,

       

      I've been doing some testing using WebSphere MQ as a TM to coordinate MQ and DB2/Windows resources, seeing we already have both products in-house.  We're comfortable with commit and rollback testing.  However, if I set a breakpoint on the MQ commit statement, then kill the transaction manager (MQ processes) without invoking the commit, DB2 is still left with an in-doubt transaction from the update that was never committed.

       

      I've worked with IBM on this and they've assured us that that's normal behavior and that even after bringing the queue manager back up, it's not its responsibility to tell DB2 to remove in-doubt transactions.  MQ does nicely remove the message that was put to a queue though; just not the DB2 row that was inserted (or the DB2 lock).

       

      So a colleague recommended we check out JBoss.  But before we launch a whole new R&D task to do so, I'm hoping someone can tell me how JBoss would react to this.  Please understand that I'm not referring to "in the middle of the two-phased commit, AFTER a commit was issued, but before the entire 2PC was completed".  Rather, the commit was never issued, but resources (MQ PUT and DB2 INSERT) were updated as part of the transaction.


      Thank you.