|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MQQueueManager Commit error :: Reason Code 2003 |
« View previous topic :: View next topic » |
Author |
Message
|
sley |
Posted: Wed Oct 23, 2002 9:36 am Post subject: MQQueueManager Commit error :: Reason Code 2003 |
|
|
Novice
Joined: 18 Dec 2001 Posts: 11
|
Hi.
We are pulling the messages off a queue using onMessage() with a transacted session. Once we complete processing the message, we will call session.commit(). However, we noticed that two scenarios::
1. the message is rolling back onto the queue even though the message has not completed processing (chain of command has not returned to the onMessage() method). Any ideas why? We tried implementing the ExceptionListener in the jms package but it seems that the connection is never broken. So we process the same message multiple times.
2. when the message has completed processing, it tries to commit. However, we caught an exception (see following)::
javax.jms.TransactionRolledBackException: MQJMS0011: Call to Session.commit resulted in a rollback of the current transaction
Finished invoking Service Coordinator! (at time Wed Oct 23 12:51:48 EDT 2002)
at com.ibm.mq.jms.MQQueueSession.commit(MQQueueSession.java:389)
at com.ml.edsi.mif.msgreceiver.MIFQueueReceiverThread.onMessage(MIFQueueReceiverThread.java:113)
at com.ibm.mq.jms.MQQueueReceiver.receiveAsync(MQQueueReceiver.java:639)
at com.ibm.mq.jms.contact admin.run(contact admin.java:355)
We also grabbed the linked exception and it was the following (any ideas why? How do we know if the queue manager is transacted? Is there a config / properties file somewhere?
Linked exception:
com.ibm.mq.MQException: Completion Code 1, Reason 2003
at com.ibm.mq.MQQueueManager.commit(MQQueueManager.java:884)
at com.ibm.mq.jms.MQQueueSession.commit(MQQueueSession.java:376)
at com.ml.edsi.mif.msgreceiver.MIFQueueReceiverThread.onMessage(MIFQueueReceiverThread.java:113)
at com.ibm.mq.jms.MQQueueReceiver.receiveAsync(MQQueueReceiver.java:639)
at com.ibm.mq.jms.contact admin.run(contact admin.java:355)
Thanks for all your help!
--Sley |
|
Back to top |
|
 |
RandomHero |
Posted: Wed Apr 19, 2006 4:02 am Post subject: |
|
|
Newbie
Joined: 19 Apr 2006 Posts: 1
|
Reason Code 2003 means MQRC_BACKED_OUT.
from
http://middleware.its.state.nc.us/middleware/Documentation/en_US/htm/amqzag03/amqzag0334.htm
you can see "The queue manager rolls back transactions that consume too much log space. An application whose transaction is rolled back in this way cannot perform subsequent MQPUT or MQGET operations specifying syncpoint under the same transaction. An attempt to put or get a message under syncpoint in this state returns MQRC_BACKED_OUT. The application can then issue MQCMIT, which returns MQRC_BACKED_OUT, or MQBACK and start a new transaction. When the transaction consuming too much log space has been rolled back, its log space is released and the queue manager continues to operate normally.". You have to ptimize your queue messages for rollback logs or you can increase your log sizes... (You can ask your MQ Admins how to do this) _________________ do it... |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|