Author |
Message
|
Sumeet Chawla |
Posted: Tue May 05, 2009 10:02 am Post subject: MQRC 2041 with MB6 |
|
|
 Newbie
Joined: 20 Jan 2009 Posts: 7
|
Hi All
After i change the pointing of a Remote queue or a QAlias which is an output queue of an MB6 message flow i get a MQRC 2041 ( MQRC_OBJECT_CHANGED ) when the messages passes through that particular Message flow.
In MQSI 2.1 it only used to happen when the O/P queue was changed with a force option.
I know the solution for the issue is killing the PID for the execution group or reloading the execution group. But this is not viable for every pointing i do.
Can someone tell me if its a MB6 product issue or if is MB6 designed like this. Is there a permanent solution/fixed pack for this.
Response is higly appreciated. _________________ Thanks and Regards
Sumeet Chawla |
|
Back to top |
|
 |
mqjeff |
Posted: Tue May 05, 2009 10:19 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Just stop and start any flows that might be writing to that. |
|
Back to top |
|
 |
Sumeet Chawla |
Posted: Tue May 05, 2009 10:26 am Post subject: |
|
|
 Newbie
Joined: 20 Jan 2009 Posts: 7
|
Can't do that because i don't have an access for that. Need pointers for a permanent solution. _________________ Thanks and Regards
Sumeet Chawla |
|
Back to top |
|
 |
Vitor |
Posted: Tue May 05, 2009 11:06 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Sumeet Chawla wrote: |
Need pointers for a permanent solution. |
Change all the objects, then stop and start the flows. Even if you don't have access, someone must and the stop/start can be coordinated with the WMQ change.
It's how the product works. I believe that once an MQOutput node has opened a queue object, it will close it again after a period of unuse but I don't know what the period is, don't believe it's configurable and don't believe the behaviour can be forced except with a stop command. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Sumeet Chawla |
Posted: Tue May 05, 2009 11:32 am Post subject: |
|
|
 Newbie
Joined: 20 Jan 2009 Posts: 7
|
Yes this how the product behaves. But unfortunately MQSI/WMQI never worked like that. If we used to change the O/P queue for the message flow it used to bind to the new instance automatically but the same is not happening to a O/P queue of MB6 flow.
** PS I am just taking the example of Qremote and Qalias as output queues _________________ Thanks and Regards
Sumeet Chawla |
|
Back to top |
|
 |
Vitor |
Posted: Tue May 05, 2009 2:40 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Sumeet Chawla wrote: |
But unfortunately MQSI/WMQI never worked like that. |
No, MQSIv2.1 CSD 9 used to do that. Certainly for input queues. I remember getting 2041 when some yo-ho changed a queue without telling me.
Anyway, whatever "feature" of the old MQSI you were using which allowed this is either fixed in WMBv6 or completely redesigned in v6.
Welcome to the new world. Speak to the people who do your deployment procedures to have a stop/start of WMB scheduled as part of the WMQ deployment. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
rekarm01 |
Posted: Wed May 06, 2009 2:21 am Post subject: Re: MQRC 2041 with MB6 |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 1415
|
Sumeet Chawla wrote: |
Yes this how the product behaves. |
Altering an MQ object while some application has it open is a bad practice. The permanent solution is to stop doing that. As of MQ v2.x or later, any application will get MQRC=2041 failures, until it closes and re-opens the altered object.
Sumeet Chawla wrote: |
But unfortunately MQSI/WMQI never worked like that. If we used to change the O/P queue for the message flow it used to bind to the new instance automatically but the same is not happening to a O/P queue of MB6 flow. |
Another (not necessarily recommended) option is to set the MQOutput node's Destination Mode to "Destination List"; then it might use MQPUT1 instead of MQPUT, open/close the output queue for every output message, and avoid any MQRC=2041 failures, (but not without some performance cost). |
|
Back to top |
|
 |
Vitor |
Posted: Wed May 06, 2009 2:25 am Post subject: Re: MQRC 2041 with MB6 |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
rekarm01 wrote: |
Another (not necessarily recommended) option is to set the MQOutput node's Destination Mode to "Destination List"; then it might use MQPUT1 instead of MQPUT, open/close the output queue for every output message, and avoid any MQRC=2041 failures, (but not without some performance cost). |
Remembering of course to set up the Destination List in the flow before reaching that point....
(behold my command of the very, very obvious!)
IMHO it's easier just to change the deployment procedures. Though of course I've no knowledge of how politically tricky this is on the site in question. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|