|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Message being processed multiple times |
« View previous topic :: View next topic » |
Author |
Message
|
bigdavem |
Posted: Tue Oct 08, 2002 10:21 pm Post subject: Message being processed multiple times |
|
|
 Acolyte
Joined: 16 Sep 2001 Posts: 69 Location: Sydney, Australia
|
I have 10 NT workstations connecting as v5 MQ clients to a v5.1 queue manager, also on NT. These workstations all compete for messages on a single queue.
I start with nothing on the queue. I then begin sending 800 messages of varying sizes (from 20Kb up to 2Mb). Each message contains a unique ID. Of the 800 messages, about half of the first 20 (seemingly selected at random) are processed multiple times (usually twice, sometimes three times). I can track this because the applications log the unique ID and also the MsgId.
The applications all browse the queue on a two second wait, then break out and perform some other processing before browsing again. The LOCK and BROWSE_FIRST options are set. When the application succesfully gets a message, it checks the data to make sure it's a message it wants then issues a get, MSG_UNDER_CURSOR and SYNCPOINT. It then does its processing (betwen 5 minutes and 20 hours) and commits the message upon success.
As an example, machine 1 picks up message 1 at 1:17:39am and finishes processing at 1:38:37am. Meanwhile, machine 2 picks up message 1 at 1:30:39am and finishes processing at 2:00:00am.
This doesn't make sense to me. Surely machine 1 has message 1 exclusively at all times? So how could machine 2 get its hands on it? Also, why does it only happen for the first 20 messages out of 800? Each message is definitely only on the queue once ie the sending application is not duplicating messages (as evidenced by each instance of a message having the same MsgId logged).
I'm stumped. Help? I can provide more info if needed, just let me know what!
Thanks,
Dave. |
|
Back to top |
|
 |
mrlinux |
Posted: Wed Oct 09, 2002 4:20 am Post subject: |
|
|
 Grand Master
Joined: 14 Feb 2002 Posts: 1261 Location: Detroit,MI USA
|
I suspect your messages may be getting rolled back, check the backout
count field in the mqmd . _________________ Jeff
IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries |
|
Back to top |
|
 |
bigdavem |
Posted: Wed Oct 09, 2002 10:23 pm Post subject: |
|
|
 Acolyte
Joined: 16 Sep 2001 Posts: 69 Location: Sydney, Australia
|
You'd think so, but the app only calls MQBACK in one place, the error handling routine. If there was an error it would have to show in the application event logs, but they always show successful completion of the requests.
I haven't been able to catch one of the duplicates to check the backout count yet. Is there another way message can be backed out other than MQBACK or the app finishing without committing? |
|
Back to top |
|
 |
pgorak |
Posted: Wed Oct 09, 2002 11:55 pm Post subject: |
|
|
 Disciple
Joined: 15 Jul 2002 Posts: 158 Location: Cracow, Poland
|
bigdavem wrote: |
Is there another way message can be backed out other than MQBACK or the app finishing without committing? |
Yes there is, 2003, MQRC_BACKED_OUT, but I assume it's not your case.
Piotr |
|
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
|
|
|
|