|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MQPUT() still succeeds when queue manager is shutting down? |
« View previous topic :: View next topic » |
Author |
Message
|
asincero |
Posted: Fri Oct 14, 2005 10:29 am Post subject: MQPUT() still succeeds when queue manager is shutting down? |
|
|
Novice
Joined: 13 Mar 2003 Posts: 18
|
I've noticed that if I shut down the queue manager with 'endmqm', one or two MQPUT()'s from a client will still return "success" before it notices that the queue manager is shutting down. Is there any way I can get it to recognize that the queue manager is shutting down sooner? Note that this is using the Linux version of MQ server and client.
Thanks. |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Oct 14, 2005 10:32 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Well, you could leave a queue open for input with a Fail If Quiesecing option.
But likely that won't signal you any sooner.
As long as your app receives a successful return code from PUT, your job is done. MQ has accepted the message, and will guarantee it's delivery under the options you have specified.
So why worry about it? Are your admins complaining that your app is holding up their shutdown? Give them a way to shut your app down. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
asincero |
Posted: Fri Oct 14, 2005 10:51 am Post subject: |
|
|
Novice
Joined: 13 Mar 2003 Posts: 18
|
jefflowrey wrote: |
Well, you could leave a queue open for input with a Fail If Quiesecing option.
But likely that won't signal you any sooner.
As long as your app receives a successful return code from PUT, your job is done. MQ has accepted the message, and will guarantee it's delivery under the options you have specified.
So why worry about it? Are your admins complaining that your app is holding up their shutdown? Give them a way to shut your app down. |
Yes, I do specify the "MQOO_FAIL_IF_QUIESCING" option when opening the queue. The issue is when somebody decides to do an 'endmqm' after I'm connected and the queue is open.
I'm tasked to write an application that consists of two processes running on different machines that sends messages to each other via MQ. I'm trying to achieve as close to 0% message loss as possible. Right now, I'm enumerating in what situations messages will be lost and theres nothing I can do about it. Basically, I'm just trying to cover my ass when messages get lost. As long as I have everything documented, I should be good to go. |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Oct 14, 2005 10:53 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
If you wish to ensure 0% message loss, then use a local syncpoint (yes, I know, you're having issues with that in the other thread), and use persistant messages.
This way you know, as long as the commit is successful, that the message will not be lost, and will be delivered to the other side.
There is no need to write code to check that the message has been placed on the queue - no more than there is a need to write code to confirm that a database insert has placed data on a table. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
bob_buxton |
Posted: Sat Oct 15, 2005 12:03 pm Post subject: |
|
|
 Master
Joined: 23 Aug 2001 Posts: 266 Location: England
|
Do you spcecify MQPMO_FAIL_IF_QUIESCING on each of your MQPUTs? _________________ Bob Buxton
Ex-Websphere MQ Development |
|
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
|
|
|
|