Author |
Message
|
gechu |
Posted: Wed Aug 20, 2008 3:48 am Post subject: Delete MQSI input queue (MQ + broker v.5x)? |
|
|
Apprentice
Joined: 27 Feb 2008 Posts: 48
|
Hi all,
This might seem like an easily solved problem, but yet I fail.
The queue I want to delete is held open by a broker flow (it´s the input queue to that flow). And I simply want to delete it.
I´ve tried:
- Stopped the flow
- Removed the flow
I find it strange, when I´ve removed the flow and waited for maybe 10 minutes, I am able to run a delete queue commandwithout getting a "queue is open" error. However, even though I don´t get any errors, the queue is still there when I look again...
The only way I managed to solve the problem was to force a shutdown of the entire broker service and then remove the queue using runmqsc. But that is a very not so nice solution so I was hoping for some other suggestings from you guys to solve this problem?
Thanks,
Erik |
|
Back to top |
|
 |
AkankshA |
Posted: Wed Aug 20, 2008 4:01 am Post subject: |
|
|
 Grand Master
Joined: 12 Jan 2006 Posts: 1494 Location: Singapore
|
Does it happen always.. or happen ed only once..
after deleting the queue, does display ql show you the queue ??
What are the IPPROCS and OPPROCS before deleting the queue.. _________________ Cheers |
|
Back to top |
|
 |
gechu |
Posted: Wed Aug 20, 2008 4:12 am Post subject: |
|
|
Apprentice
Joined: 27 Feb 2008 Posts: 48
|
Hi,
If I remember correcly was the IPPROCS set to "1". Can you please give be a brief explaination about IPPROCS and OPPROCS? Is it possible to release these handles (even in MQ v5x)? |
|
Back to top |
|
 |
AkankshA |
Posted: Wed Aug 20, 2008 4:21 am Post subject: |
|
|
 Grand Master
Joined: 12 Jan 2006 Posts: 1494 Location: Singapore
|
They show the number of processes polling your queue for input and output respectively..
So are you not able to recreate the scenerio ? _________________ Cheers |
|
Back to top |
|
 |
gechu |
Posted: Wed Aug 20, 2008 4:41 am Post subject: |
|
|
Apprentice
Joined: 27 Feb 2008 Posts: 48
|
I think I can do it. I´ve checked and it has queue definitions containing "default bind on open".
Do you have any clues on how to proceed with the "real" deletetion of this queue? |
|
Back to top |
|
 |
David.Partridge |
Posted: Wed Aug 20, 2008 5:19 am Post subject: |
|
|
 Master
Joined: 28 Jun 2001 Posts: 249
|
Make the queue get inhibited - that will stop programs from opening it for input ... _________________ Cheers,
David C. Partridge |
|
Back to top |
|
 |
PeterPotkay |
Posted: Wed Aug 20, 2008 5:46 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
In version 5.0 and earler of the Broker stopping a flow didn't stop it. It just caused the flow to break out of its MQGET loop. The queues it had open remained opened. If you wanted to change or delete them you had to go the extra step of actually removing the flow, making your q change (i.e. change remote q name) and then redeploy.
In 6.0 of the Broker, a stop of a flow is a real stop. The queues are released.
If in WB-IMB toy stopped and removed the flow, yet the q still complains that something has, you might have additional copies of your flow in aother execution groups, or maybe another app has the q open (channel or program for puts, monitoring tool has it open for MQINQ, etc) _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
gechu |
Posted: Thu Aug 21, 2008 2:29 am Post subject: |
|
|
Apprentice
Joined: 27 Feb 2008 Posts: 48
|
Thanks all for the input!
I can confirm the strange behaviour of broker flows that PeterPotkay described.
David.Partridge, tried setting the queue to "get inhibited", but the flow would not release it. So sadly, the only way to completly remove MQSI input queues in MQ 5.x, seems to require that the flow is removed.
Something which might not be related to this issue, but might be good to be aware of, is that one way to remove handles in MQ 6.x is to type:
Code: |
dis conn(*) where(objname eq myQueue) |
(thx fjb_saper for letting me know about this command). This will return the connection ID that is used to hold the MQSI input queue myQueue. Then simply type something in line with:
I guess it depends on what reconned time the current broker flow is set to use, but last time I used this I had a couple of minutes to type:
and solve my "queue open" issue. |
|
Back to top |
|
 |
|