Author |
Message
|
hariprashanth |
Posted: Wed Oct 01, 2008 12:55 am Post subject: MQ Websphere MQ Not Empty - UnCommitted transactions in MQ |
|
|
Newbie
Joined: 30 Sep 2008 Posts: 8
|
Hi all,
I am facing some severe issues with MQ which is creating show stopper issues. I am using MQ for putting and getting messages which is in a Transaction Scope enlisted with JOTM's Transaction Manager along with an Oracle Database XA Resource. When the process is started messages are flowing in and out correctly.
But when i stop the process inbetween when messages are flowing. Some transactions are left uncommitted in the MQ. When i try to clear the Queue i get the followin error in some of the MQ's.
AMQ:8143:WebSphere MQ Not Empty
I tried to get the transactions which are uncommitted using the dspmqtrn.
I got the transaction numbers with the above command.
I backed out the transactions with the command rsvmqtrn.
Some Queues got resolved with the above process.
But the problem now is, some of the MQ's still remains in
Not Empty status when i try to clear the Queue and dspmqtrn is not returning and Uncommitted transaction Numbers. Some messages are there in the Queue. I can see in the CURDEPTH attribute. I even tried writing a sample GET program to get out the messages. But its returning a No Message Exception (2033) even if CURDEPTH is showing some value > 0
Please help me come out of this issue.[/b] |
|
Back to top |
|
 |
Gaya3 |
Posted: Wed Oct 01, 2008 1:07 am Post subject: |
|
|
 Jedi
Joined: 12 Sep 2006 Posts: 2493 Location: Boston, US
|
HOW MANY
POST ONLY ONCE, and DON'T DOUBLE POST _________________ Regards
Gayathri
-----------------------------------------------
Do Something Before you Die |
|
Back to top |
|
 |
atheek |
Posted: Thu Oct 02, 2008 5:29 am Post subject: |
|
|
 Partisan
Joined: 01 Jun 2006 Posts: 327 Location: Sydney
|
Did you do rsvmqtran for all transactions that got listed when you ran dspmqtran?
Also what version is the MQ? |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Oct 02, 2008 6:26 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
You have to realize a few things:
Uncommitted transactions can be in many states:
prepared for commit -- those will show up in dspmqtrn
msg posted -- no XA commit action ever initiated => ghost message
If your application just got killed (kill -9) you will not be able to resolve some of these states.
What I have seen is that the "ghost messages" disappear upon qmgr restart whereas the messages prepared for commit that are persistent would survive the qmgr restart and be able to be force committed or rolled back using rsvmqtrn.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
hariprashanth |
Posted: Thu Oct 02, 2008 9:34 pm Post subject: |
|
|
Newbie
Joined: 30 Sep 2008 Posts: 8
|
Hi Thanks for your response.
I am using the following version
Name: WebSphere MQ
Version: 530.12 CSD12
CMVC level: p530-12-L051208
BuildType: IKAP - (Production) |
|
Back to top |
|
 |
hariprashanth |
Posted: Thu Oct 02, 2008 9:43 pm Post subject: |
|
|
Newbie
Joined: 30 Sep 2008 Posts: 8
|
Jedi
what do you mean by
[b]msg posted -- no XA commit action ever initiated => ghost message [/b]
Do you mean to say that XA for this MQ has never been initiated? |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Oct 03, 2008 2:21 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
hariprashanth wrote: |
Jedi
what do you mean by
msg posted -- no XA commit action ever initiated => ghost message
Do you mean to say that XA for this MQ has never been initiated? |
NO. What I mean to say is that none of the XA methods used in the commit have been initiated. No prepare for commit or commit not yet acknowledged etc... This means that although the message shows up in the queue count it is not available under any circumstance hence the term ghost message.
A message for which an XA prepare commit has been issued could potentially be committed but the connection might have broken between the prepare for commit and the actual commit. Thus you can resolve it using rsvmqtrn.
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
bower5932 |
Posted: Fri Oct 03, 2008 3:23 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
hariprashanth wrote: |
I am using the following version
Name: WebSphere MQ
Version: 530.12 CSD12
CMVC level: p530-12-L051208
BuildType: IKAP - (Production) |
I doubt that what you are seeing has anything to do with the version that you are running, but I'd suggest that you move forward to a supported version. |
|
Back to top |
|
 |
hariprashanth |
Posted: Sun Oct 05, 2008 10:11 pm Post subject: |
|
|
Newbie
Joined: 30 Sep 2008 Posts: 8
|
Hi all,
i got out of this uncommitted transactions issue which was a night mare. During successive testings, i noticed that Threads/Processes connected to the MQ's are causing this problem while shutting down. Some QueueManager Objects which were connected in the threads or the processes while the JVM exits is the root cause of this problem. On a JVM exit, i have caught the signal and stopped the threads which were processing this and then issued a JVM exit. Now i dont have this problem any more on a graceful shutdown of JVM.
But now on a crash scenario this would not work. |
|
Back to top |
|
 |
|