Author |
Message
|
mq_abcd |
Posted: Mon Nov 29, 2004 1:02 pm Post subject: Sequence numbers and messsage persistency |
|
|
 Acolyte
Joined: 13 Jun 2004 Posts: 69
|
Hi everyone,
I am new to MQ stuff and am trying to familiarize my self with MQ
I read the manuals available online and also "Intercommunications Guide"
But still i could not understand the sequence numbers thing in MQ.
I was wondering whether the non-persistent message will affect the sequence numbers or not. If yes, what happens when i send a non-persistent message in between a set of persistent messages.
please enlighten me on this issue.
Thanks
Shailu |
|
Back to top |
|
 |
csmith28 |
Posted: Mon Nov 29, 2004 1:25 pm Post subject: |
|
|
 Grand Master
Joined: 15 Jul 2003 Posts: 1196 Location: Arizona
|
No, Non-Persistent messages are not counted in the CURSEQNO or LSTSEQNO but I believe they are counted in LSTMSGTI, LSTMSGDA, MSGS and BYTSSENT. _________________ Yes, I am an agent of Satan but my duties are largely ceremonial. |
|
Back to top |
|
 |
mq_abcd |
Posted: Mon Nov 29, 2004 1:34 pm Post subject: |
|
|
 Acolyte
Joined: 13 Jun 2004 Posts: 69
|
By what u said does that also mean that the inconsistency in sequence numbers(at sender and reciever) does not affect the transmisson of non-persistent messages when we use channel triggering. |
|
Back to top |
|
 |
csmith28 |
Posted: Mon Nov 29, 2004 1:38 pm Post subject: |
|
|
 Grand Master
Joined: 15 Jul 2003 Posts: 1196 Location: Arizona
|
shailu wrote: |
By what u said does that also mean that the inconsistency in sequence numbers(at sender and reciever) does not affect the transmisson of non-persistent messages when we use channel triggering. |
I am not certain about that. When a channel goes into an INDOUBT(YES) I believe all messaging stops for that channel until until the Sequence issue is resolved.
Non persistent messages will sit on the XMITQ until the MCA's have finished their negotiations. _________________ Yes, I am an agent of Satan but my duties are largely ceremonial. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Mon Nov 29, 2004 7:21 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
csmith28 wrote: |
No, Non-Persistent messages are not counted in the CURSEQNO or LSTSEQNO but I believe they are counted in LSTMSGTI, LSTMSGDA, MSGS and BYTSSENT. |
All messages, persistent and non persistent, FAST channel or NORMAL channel, increment the sequence number. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
csmith28 |
Posted: Mon Nov 29, 2004 9:06 pm Post subject: |
|
|
 Grand Master
Joined: 15 Jul 2003 Posts: 1196 Location: Arizona
|
PeterPotkay wrote: |
csmith28 wrote: |
No, Non-Persistent messages are not counted in the CURSEQNO or LSTSEQNO but I believe they are counted in LSTMSGTI, LSTMSGDA, MSGS and BYTSSENT. |
All messages, persistent and non persistent, FAST channel or NORMAL channel, increment the sequence number. |
Hmm. _________________ Yes, I am an agent of Satan but my duties are largely ceremonial. |
|
Back to top |
|
 |
Nigelg |
Posted: Tue Nov 30, 2004 2:00 am Post subject: |
|
|
Grand Master
Joined: 02 Aug 2004 Posts: 1046
|
Non-persistent msgs on NPMSPEED(FAST) channels are not counted in the sequence number field LSTSEQNO, but they are in CURSEQNO.
The purpose of the sequence number is to keep track of the number of msgs successfully put to a dest queue at the RCVR inside the current UoW. This is the synchronisation information, the LSTLUWID and LSTSEQNO, kept in several different places - the sync queue, the channel scratchpad, the channel sync file. A channel has a UoW if there are any persistent msgs, or NPMSPEED is NORMAL, i.e. the MQGET has MQGMO_SYNCPOINT set. If NPMSPEED is FAST, the MQGET only has MQGMO_SYNCPOINT_IF_PERSISTENT.
At the end of a batch the SDR sync info is updated, and the channel goes indoubt. If the RCVR puts all the msgs successfully, the RCVR sync info is updated. The purpose of the sync info is if the msg batch did not reach the RCVR and the channel crashes. When the channel restarts part of the initial data flow is the exchange of sync info, i.e. the LSTLUWID & LSTSEQNO. If the SDR & RCVR do not agree, the msgs are backed out of the xmitq, and the sync info reverted to the previous LUWID.
Since a non-persistent msg is not in a UoW, it cannot be returned to the queue by MQBACK, and so the LSTLUWID & LSTSEQNO info does not apply, and is not kept in that case. |
|
Back to top |
|
 |
mq_abcd |
Posted: Tue Nov 30, 2004 11:25 am Post subject: |
|
|
 Acolyte
Joined: 13 Jun 2004 Posts: 69
|
Thanks for all the info.
I still have some doubts like
1) what all(like CURSEQNO, LSTSEQNO, LSTLUWID, CURLUWID ..)
need to be matched between sender and reciver channels
before a message is passed and is it same for both
persistent message and non persistent messages?
2) How to reset the LSTSEQNO?
3) Where can i read more regarding the same?
Thanks
Shailu |
|
Back to top |
|
 |
csmith28 |
Posted: Tue Nov 30, 2004 12:57 pm Post subject: |
|
|
 Grand Master
Joined: 15 Jul 2003 Posts: 1196 Location: Arizona
|
I don't believe that it is possible to modify the LSTSEQNO but you can change the CURSEQNO using the "reset chl(CHANNEL.NAME)" command.
See the WMQ Command Reference Guide. _________________ Yes, I am an agent of Satan but my duties are largely ceremonial. |
|
Back to top |
|
 |
|