Author |
Message
|
lnm |
Posted: Fri Jan 31, 2003 6:23 am Post subject: Messages disappeared - MQ Pub/Sub |
|
|
Apprentice
Joined: 12 Mar 2002 Posts: 43 Location: Florida
|
We have an MQ Pub/Sub application, using a D subscriber. There is a Websphere instance associated with the "consumer" application that consistently fails to start up. We ask that the Websphere instance be bounced and that in turn makes the consumer app kick in and start pulling messages off of the "SYSTEM.JMS.D.SUBSCRIBER.QUEUE". Yesterday, from the time the WebSphere instance was bounced (there were about 60,000 messages on the queue...as seen thru MQ explorer), when the Q was checked again after an hour there were zero messages....the application log does not show where it pulled any of the messages off of the Q and we don't usually see the consumer pull that many messages off in an hour. The messages are persistent and no expiry is set. Does anyone have any ideas as to where these messages may have disappeared to? |
|
Back to top |
|
 |
bower5932 |
Posted: Fri Jan 31, 2003 9:56 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
I'd double-check the persistence. Messages disappearing after a bounce is almost always caused by a lack of persistence. You can use the amqsbcg program to see if they are persistent. |
|
Back to top |
|
 |
lnm |
Posted: Fri Jan 31, 2003 10:03 am Post subject: |
|
|
Apprentice
Joined: 12 Mar 2002 Posts: 43 Location: Florida
|
This is the first thing I checked....yes, persistent, zero expiry.
Please note it was the WEBSPHERE instance that was bounced .... not the Qmanager.
Thanks for the reply....Any other ideas?....anyone! |
|
Back to top |
|
 |
lnm |
Posted: Mon Feb 03, 2003 7:41 am Post subject: |
|
|
Apprentice
Joined: 12 Mar 2002 Posts: 43 Location: Florida
|
|
Back to top |
|
 |
bower5932 |
Posted: Mon Feb 03, 2003 8:24 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
If you can load up the queue, you can try looking at the qstatus to see who has it open and is removing the messages. It might shed some light on what is going on. |
|
Back to top |
|
 |
lnm |
Posted: Mon Feb 03, 2003 9:54 am Post subject: |
|
|
Apprentice
Joined: 12 Mar 2002 Posts: 43 Location: Florida
|
Unfortunately, (or fortunately), it was a one time thing that occurred sometime during a 1 hour time span after the WebSphere instance was bounced. The Qmanager was NOT bounced.
Keep those cards and letters coming! |
|
Back to top |
|
 |
Troilus |
Posted: Mon Feb 03, 2003 11:20 pm Post subject: |
|
|
Apprentice
Joined: 12 Jul 2002 Posts: 28 Location: Belgium
|
If we suppose the messages where deleted from the queue under control of the queue manager, and that they where indeed persistent, then we know the queue manager has logged the fact it deleted the messages.
You could analyze the log (I hope you still have it), to find the MQPUT records. Finding corresponding MQGET records on the recoverylog is a bit more difficult, because the data is not logged for an MQGET, but it can be done... I know because I've done it several times before using ReQuest. If you have found the MQGET log records you'll know who the culprit is. |
|
Back to top |
|
 |
lnm |
Posted: Tue Feb 04, 2003 11:54 am Post subject: |
|
|
Apprentice
Joined: 12 Mar 2002 Posts: 43 Location: Florida
|
But remember, its an MQSeries Pub/Sub application. |
|
Back to top |
|
 |
Troilus |
Posted: Tue Feb 04, 2003 11:17 pm Post subject: |
|
|
Apprentice
Joined: 12 Jul 2002 Posts: 28 Location: Belgium
|
I must admit I do not have experience with Pub/Sub and am familiar only with the concept.
In what way would that be relevant here?
Every MQGET get's logged. Wether it is done by an application or the queue manager itself, PUB/SUB or not.
Could someone have done a CLEAR of the queue ? (This would also be on the log).
Were the messages logically on the queue or physically. If you look at the current depth of the queue through MQexplorer you see the number of physical messages, this could include expired messages (but you already stated this could not be the issue here) and uncommitted messages. Is it possible that at one time there were that many uncomitted messages on the queue? This would show up on the recovery log as well. |
|
Back to top |
|
 |
lnm |
Posted: Wed Feb 05, 2003 4:49 pm Post subject: |
|
|
Apprentice
Joined: 12 Mar 2002 Posts: 43 Location: Florida
|
More info.....still MQ Pub/Sub
Same problem occurred today. Here's what we're thinking....
The Publisher app puts the messages on the queue.
The Subscriber is not pulling messages off of the queue.
When the Websphere instance is stopped (to do the bounce) the Subscriber seems to be dropped and when it starts back up its a new Subscriber (sort of). All of the old messages go ..............(where) because that previous subscriber is no longer valid to pick up the messages.....
Any thoughts? |
|
Back to top |
|
 |
bower5932 |
Posted: Thu Feb 06, 2003 5:44 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
Are you using durable or non-durable subscribers? If you are using durable subscribers, the messages stay on the queue while your subscriber goes away and comes back. If you are using non-durable subscribers, clean-up is done when your subscriber goes away. I know that with MQ 5.3, the clean-up was improved. There is a discussion on the differences between the two types of subscribers in the Using Java manual. |
|
Back to top |
|
 |
|