Posted: Mon Oct 31, 2011 5:12 am Post subject: Transaction COMMIT and ROLLBACK usage not rolling back DB2
Voyager
Joined: 28 Nov 2004 Posts: 76
Using WMB 6.1.0.9 on AIX with DB2. When the queue manager/application throws an MQW102 '2003' error in the final MQ output node of the message flow - the DB transaction is not getting rolled back.
Compute Node 1 includes a while loop that issues a "COMMIT" after processing each message retrieved from the MQGet node. If the output node fails to write the message the output queue, a "ROLLBACK" is issued and the DB changes are indeed rolled back.
When the queue manager issues a MQRC 2003 on the MQ OutputNode; the DB update is not rolled back. Note, if the output queue is not defined and the msgflow is unable to write the message to the MQ OutputNode - the DB change is rolled back. The same behavior is observed if a "THROW" is added to the flow to force an exception. So it would seem the transactional parameters are set correctly - but does not work as expected when a MQRC 2003 is issued.
Any suggestions on what else should be considered to solve this issue; again, this behavior only occurs when there is a '2003' error - which is extremely infrequent. MQRC_BACKED_OUT
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum