Author |
Message
|
kishi_25 |
Posted: Wed Aug 03, 2011 6:44 am Post subject: QM is not coming up after endmqm -ior-p - Need Experts help |
|
|
Centurion
Joined: 19 Jul 2011 Posts: 100
|
hi,
I have a QM QMXGTW0T in running status
i) For QMXGTW0T, I have given the command as
amqsput TEST1.QUEUE QMXGTW0T.
ii) now, I ran endmqm -i
iii) After some time, when I issue
strmqm QMXQGTW0T - Failing with below error reason as
"AMQ8041: The queue manager cannot be restarted or deleted because processes,
that were previously connected, are still running.
Process 12294 is still running.
AMQ7018: The queue manager operation cannot be completed"
after analysis, I found when the script ran with -i option, though the
queue manager was
brought down, amqsput connection is still open
hence, this time I manually killed amqsput connection for the QM
QMXGTW0T
and manually restarted the QM, .
My question is, when I ran the endmqm command with -i option, why it didn't close amqsput connection?
and I tried the above scenario with endmqm -P option as well.
For that also, I have to manually kill the amqsput
and how to handle this as we are planning to use this on
production servers.
thanks,
kishor |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Aug 03, 2011 6:59 am Post subject: Re: QM is not coming up after endmqm -ior-p - Need Experts h |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
kishi_25 wrote: |
My question is, when I ran the endmqm command with -i option, why it didn't close amqsput connection?
|
When you researched exactly what the -i switch does, what did you learn? _________________ 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 |
|
 |
kishi_25 |
Posted: Wed Aug 03, 2011 7:07 am Post subject: endmqm -i and -p |
|
|
Centurion
Joined: 19 Jul 2011 Posts: 100
|
endmqm -i - current MQI calls are allowed to completed, but new calls fail. doesn' wait for apps to disconnect from QM
endmqm - P - last option in exceptional cases, can have unpredictable consequences for connected apps
stops QM immediately. all the queue manager processes are stopped.
i) For the endmqm -i option, if it has to allow existing MQI calls, then why QM went down, before allowing them to complete?
ii) for endmqm -p option, why it's not working as it doesn't care about existing scenario? |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Aug 03, 2011 7:18 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
You need to have your applications run with "FailIfQuiescing".  _________________ MQ & Broker admin |
|
Back to top |
|
 |
kishi_25 |
Posted: Wed Aug 03, 2011 7:23 am Post subject: |
|
|
Centurion
Joined: 19 Jul 2011 Posts: 100
|
Thanks for the reply.
but, is endmqm -i or endmqm -p doesn't take care of this, if application doesn't specify "failifquescing" ? |
|
Back to top |
|
 |
Vitor |
Posted: Wed Aug 03, 2011 8:07 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
kishi_25 wrote: |
but, is endmqm -i or endmqm -p doesn't take care of this, if application doesn't specify "failifquescing" ? |
The amqsput sample does specify FAIL_IF_QUIESCING, so unless you've edited the code you have a different problem.
If you use the -i flag, you yourself pointed out that current MQI calls are allowed to complete. So if you have a badly behaved application (and again, amqsput is very well behaved) the queue manager can still hang.
If you use the -p flag you get unpredictable consequences. It should manage the existing scenario but no scenario should ever require the use of the -p flag. "Exceptional cases" typically means something is badly hosed up and you'll need to tidy up manually before things work properly.
As my most worthy associate correctly points out, all applications should code for FAIL_IF_QUIESCING. Like amqsput does. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Aug 03, 2011 8:16 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
As for what to do to be able to restart the qmgr... the error message is quite explanatory:
Quote: |
"AMQ8041: The queue manager cannot be restarted or deleted because processes,
that were previously connected, are still running.
Process 12294 is still running.
AMQ7018: The queue manager operation cannot be completed" |
Shutdown the application / owner of process 12294 and try again...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
kishi_25 |
Posted: Wed Aug 03, 2011 9:11 am Post subject: |
|
|
Centurion
Joined: 19 Jul 2011 Posts: 100
|
I haven't edited amqsput code and using as it is.
I guess, the only option we have is to manually kill the process which was running. I tried amqiclen also, but it was not working.
only thing, I was wondering is why endmqm -i didn't take care for closing amqsput.
If no one has comments on this, for now, I conisder the only solution is to kill the process manually |
|
Back to top |
|
 |
Vitor |
Posted: Wed Aug 03, 2011 9:17 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
kishi_25 wrote: |
only thing, I was wondering is why endmqm -i didn't take care for closing amqsput. |
Have you absolutely proved that amqsput is the still running application? Not another application or queue manager process? Because if you have you need to raise a PMR with IBM, because the sample as provided contains the correct code for the application to shut down on a "normal" endmqm, never mind a -i or -p, and certainly does for me.
kishi_25 wrote: |
If no one has comments on this, for now, I conisder the only solution is to kill the process manually |
If the process is still running after a -p then yes, you'll need to kill it manaully. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bruce2359 |
Posted: Wed Aug 03, 2011 9:22 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9472 Location: US: west coast, almost. Otherwise, enroute.
|
-i option waits for applications to end - MQDISC.
I suspect that the reason amqsput didn't end is that it was waiting for you to enter application data from the keyboard - which is not an MQI call.
Re-run amqsput, and leave it waiting for keyboard input.
Issue the endmqm -i call. The qmgr will (as documented) wait for the application to end.
End amqsput - by pressing enter on a null line. The qmgr should now end. _________________ 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 |
|
 |
Vitor |
Posted: Wed Aug 03, 2011 9:26 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
bruce2359 wrote: |
I suspect that the reason amqsput didn't end is that it was waiting for you to enter application data from the keyboard - which is not an MQI call. |
Ooo....good spot! _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
kishi_25 |
Posted: Wed Aug 03, 2011 9:45 am Post subject: |
|
|
Centurion
Joined: 19 Jul 2011 Posts: 100
|
hi,
I'm not having issue with ending Queue manger.with endmqm -i option Queue manger is ending.
But,when I start queue manager with strmqm
it's not starting with reason as amqsput is still running.
however, what you mentioned is some what reasonable as amqsput is not an MQI call, it has to be closed manually
any comments welcome, before we conclude on this?
ofcourse, I have opened a PMR with IBM as well.
Let's see what they say? |
|
Back to top |
|
 |
|