|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MQGET with SYNCPOINT and WaitInteval does a log write? |
« View previous topic :: View next topic » |
Author |
Message
|
gbaddeley |
Posted: Wed Jun 05, 2013 4:02 pm Post subject: MQGET with SYNCPOINT and WaitInteval does a log write? |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
Hi MQ heads,
Consider a program that does an initial call to MQGET with SYNCPOINT option and a WaitInteval, and there is no message immediately available.
Does anyone know for sure if does a write to the Active Log at this time?
(and hence has an active recovery record in the current log file until the UOW ends)
My research tends to indicate this is true, but I can't find it in the WMQ Infocenters. No speculation please. _________________ Glenn |
|
Back to top |
|
 |
gbaddeley |
Posted: Wed Jun 05, 2013 4:59 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
Some testing shows that it does not write to the Log at the time the first MQGET is called (start of UOW).
It writes to the Log when a Persistent message is returned.
It does not write to the Log when a Non-Persistent message is returned.
The UOW ends when it calls MQCMIT. The Log dependence then ends if any Persistent messages were consumed. ie. DIS CONN(x) TYPE(CONN) shows UOWLOGDA & UOWLODTI go back to blank values. However, the connection still has a QMURID, UOWSTDA, UOWSTTI and UOWSTATE=ACTIVE. _________________ Glenn |
|
Back to top |
|
 |
gbaddeley |
Posted: Wed Jun 05, 2013 6:10 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
More thinking out aloud....
A looping MQGET program with MQGMO_SYNCPOINT can easily create a long running UOW if consumes messages and does not commit for each one.
This is not a concern for tying up the Active Logs if it is only processing Non Persistent messages, because no log writes occur.
If there happens to be a Persistent message in the sequence of messages consumed in the UOW, MQ will do a log write in the UOW, and tie up that Log file. (ie. if its a circular log, it can't be reused until the UOW is finished).
It is easy to imagine a program design that consumes messages over an extended period of time under syncpoint until it has a certain number (ie. a batch), and then processes them and does a commit. With Circular logging, this design creates a road block in the sequence of circular log reuse if there are persistent messages in the mix. (Except on z/OS where log shunting can overcome this situation)
If there is lots of logging activity going on for persistent messages by other porgrams, this may result in secondary logs being created, or at worst, transactions being rolled back because of exhausted primary and secondary logs.
Is my line of thinking correct? _________________ Glenn |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Jun 05, 2013 6:14 pm Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
gbaddeley wrote: |
If there is lots of logging activity going on for persistent messages by other porgrams, this may result in secondary logs being created, or at worst, transactions being rolled back because of exhausted primary and secondary logs. |
Wouldn't the only UOW that gets rolled back be for the one program that is keeping the long UOW of work open. Other programs would not notice anything amiss, I think.
gbaddeley wrote: |
Some testing shows that it does not write to the Log at the time the first MQGET is called (start of UOW). |
Does a phone call start when you dial the numbers, or only when the other side picks up?  _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Jun 05, 2013 7:03 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
PeterPotkay wrote: |
Does a phone call start when you dial the numbers, or only when the other side picks up?  |
If a tree falls in a forest ... _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
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
|
|
|
|