Author |
Message
|
saneben |
Posted: Tue Mar 14, 2017 11:49 am Post subject: persistent message not written to MQ log |
|
|
Voyager
Joined: 04 Apr 2004 Posts: 96
|
Hi,
I have an scenario like the below
Application A puts a persistent message in MQ queue and application b takes the message and replies in the response queue and applicaton a takes the message message all is good
We have noticed that the persistent message is not written in the IBM mq log. but If we stop application b then the message is written in the mq log
Is it possible for app B to take the message before the message is written the log? if so how to fix this.
app A on unix app b on windows |
|
Back to top |
|
 |
smdavies99 |
Posted: Tue Mar 14, 2017 11:57 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Interesting.
How did you determine that the message is not written to the MQ Logs?
AFAIk, it should be because if the QMGR goes down while app b is processing and the UOW [read without commit] is rolled back the message should not be removed from the queue.
If you share how you came to this conclusion we may be able to help you. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
markt |
Posted: Tue Mar 14, 2017 12:18 pm Post subject: |
|
|
 Knight
Joined: 14 May 2002 Posts: 508
|
If puts and gets are both done out of syncpoint (which is very bad practice for persistent operations, but people do it anyway) then the put-to-waiting-getter optimisation may come into play and be able to avoid logging while still maintaining correct recovery semantics. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Mar 14, 2017 12:45 pm Post subject: Re: persistent message |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
saneben wrote: |
Is it possible for app B to take the message before the message is written the log? |
Yes, provided the message is committed. Depending on your queue manager and/or disc settings the log write could be buffered in any number of places. Is App b clienting onto the queue manager a is using or is there a channel.
saneben wrote: |
if so how to fix this. |
Why do you need to fix it? Why are you poking around in the queue manager logs? Why are you spending so much money for MQ if you don't trust it to manage persistent messages properly? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
saneben |
Posted: Wed Mar 15, 2017 7:10 am Post subject: |
|
|
Voyager
Joined: 04 Apr 2004 Posts: 96
|
Thanks for the replies.
I forget to mention that the mqlog contains the messages of the response from application b
So the team are asking for the mqlog of application A.
The strange issue which we noticed that if we inhibit the mqget of request queue when application a puts the message then the log is written.
If there any option like syncpoint , mq commit to set in mq put
The main reason of this mqlog is to troubleshoot some time out cases.
regards |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Mar 15, 2017 7:27 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
*Nobody* should be reading the mq transaction logs.
If the application team wants to see the messages they send and the messages they receive - they need to do logging on their own.
You've been given several scenarios where even persistent messages won't show up in the transaction logs.
You also might not have considered the relationship between "DEFPSIST" and the application MQ options on the put. Maybe they aren't sending persistent messages... _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
Vitor |
Posted: Wed Mar 15, 2017 8:09 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
saneben wrote: |
So the team are asking for the mqlog of application A. |
That's wrong and/or stupid. Application are trying to use the log as an application debugging tool.
saneben wrote: |
The main reason of this mqlog is to troubleshoot some time out cases. |
No it isn't. The log exists for the use of this queue manager. If you want to troubleshoot an application, troubleshoot the application using the normal tools that you'd use to troubleshoot.
If application A is trying to provide that they actually sent a message at a given time, then they should create a log that records this. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
gbaddeley |
Posted: Wed Mar 15, 2017 3:11 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
mqjeff wrote: |
*Nobody* should be reading the mq transaction logs.
If the application team wants to see the messages they send and the messages they receive - they need to do logging on their own. |
Agree 100%. The MQ transactions logs are for internal use by MQ, not application debugging. _________________ Glenn |
|
Back to top |
|
 |
tczielke |
Posted: Wed Mar 15, 2017 4:18 pm Post subject: |
|
|
Guardian
Joined: 08 Jul 2010 Posts: 941 Location: Illinois, USA
|
Not to be pedantic, but it has lead to my own confusion to hear the MQ log referred to as the transaction log. Its intent is actually for storing persistent data (persistent messages, persistent channel control data, etc.). My understanding is that transactions with no persistent messages don't even reference the log. Personally, I think it would be more helpful to call it something like the persistent data log. _________________ Working with MQ since 2010. |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Mar 15, 2017 7:34 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
And, to be pediatric, too, error logs shoul not be called 'logs'. Life is confusing enough. _________________ 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 |
|
 |
gbaddeley |
Posted: Thu Mar 16, 2017 3:15 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
bruce2359 wrote: |
Life is confusing enough. |
Logs are an endless point of confusion in MQ. MQ error logs versus MQ recovery / transactional logs. _________________ Glenn |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Mar 16, 2017 6:27 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
They should be called UofR logs or UofW logs - something like that. Referring to them as messaging logs is imprecise, omitting object attributes changes, for example. _________________ 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 |
|
 |
|