Author |
Message
|
raz |
Posted: Tue Jan 26, 2010 11:40 am Post subject: MQ queue issue |
|
|
Acolyte
Joined: 10 Jul 2007 Posts: 70
|
I'm having issue with a local queue. I have tried to delete and create a new queue with the same name. getting the following error
define ql(XX)
2 : define ql(XX)
AMQ8101: WebSphere MQ error (7041) has occurred.
How can I delete a queue file in /var/mqm/qmgrs/XX/queues directory because it is in X!X! form. |
|
Back to top |
|
 |
zpat |
Posted: Tue Jan 26, 2010 12:02 pm Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
How did you delete it and what happened?
I would avoid messing with the file system at all costs. |
|
Back to top |
|
 |
raz |
Posted: Tue Jan 26, 2010 12:24 pm Post subject: |
|
|
Acolyte
Joined: 10 Jul 2007 Posts: 70
|
I'm trying to delete the queue directory with "rm -rf X!X! |
|
Back to top |
|
 |
mvic |
Posted: Tue Jan 26, 2010 12:33 pm Post subject: |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
zpat wrote: |
How did you delete it and what happened?
I would avoid messing with the file system at all costs. |
Agreed.
7041 means object-already-exists. I might have expected to see this from runmqsc instead:
Code: |
AMQ8150: WebSphere MQ object already exists. |
If this isn't solved, and you can spare the time, I would suggest capturing the failing command in a trace (-t all -t detail), creating a PMR and sending it into IBM. |
|
Back to top |
|
 |
mvic |
Posted: Tue Jan 26, 2010 12:35 pm Post subject: |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
raz wrote: |
I'm trying to delete the queue directory with "rm -rf X!X! |
I suspect this approach will only lead to further errors.
Did you use the DELETE QLOCAL command?
If so, did you use the DELETE QLOCAL before attempting rm -rf ?
If you used rm -rf I would suspect your queue manager is in an undefined state. Maybe it can be recovered, I do not know. |
|
Back to top |
|
 |
zpat |
Posted: Tue Jan 26, 2010 12:58 pm Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
You can always Define with Replace to update the definitions
(although Alter does the same thing, since a local queue is a local queue after all). It's only if changing the queue type that a delete is essential.
Sometimes the Force operand is needed to change in use objects - check out the command manual.
If this is a new queue manager, I would start over again. |
|
Back to top |
|
 |
raz |
Posted: Tue Jan 26, 2010 1:01 pm Post subject: |
|
|
Acolyte
Joined: 10 Jul 2007 Posts: 70
|
I have tried to create with "replace" still I'm getting
AMQ8101: WebSphere MQ error (7041) has occurred |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Jan 26, 2010 1:07 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
I'm trying to delete the queue directory with "rm -rf X!X! |
What did error (if any) did you get when you did this?
Did you stop/restart the qmgr after you tried the rm?
Could you delete the object then? _________________ 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 |
|
 |
raz |
Posted: Tue Jan 26, 2010 1:19 pm Post subject: |
|
|
Acolyte
Joined: 10 Jul 2007 Posts: 70
|
let me give you the background
this has been working for last 2 years without any issues. today morning i saw the messages are going into dead letter queue. then I checked teh dead q and found that it didn't find destination queue but the has been there for last 2 years.
I have displayed the queue with "dis ql(XX)", I didn't find the queue and then I throught that somebody might have accedentally deleted the queue. Then I tried to create a new queue with the same name XX, recieved the follwoing error on screen
"AMQ8101: WebSphere MQ error (7041) has occurred."
I did see the following error in QMGR error logs
01/26/10 21:09:58 - Process(1660.12) User(mqm) Program(amqzlaa0_nd)
AMQ7041: Object already exists.
EXPLANATION:
A Define Object operation was performed, but the name selected for the object
is already in use by an object that is unknown to WebSphere MQ. The object name
selected by MQ was queues/X!X!/q, in directory
/var/mqm/qmgrs/QM, of object type *USRSPC.
ACTION:
Remove the conflicting object from the MQ system, then try the operation again.
then I tried to delete the file but I could n't because the file is in different form X!X! |
|
Back to top |
|
 |
Vitor |
Posted: Tue Jan 26, 2010 1:51 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Sounds a lot like the queue's been damaged or corrupted, possibly a bad disc sector. If you're using linear logging you can recover it from the last image.
If you're using circular logging things are a bit more problematic. When did you last do a system backup of that part of /var/mqm? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
raz |
Posted: Tue Jan 26, 2010 2:25 pm Post subject: |
|
|
Acolyte
Joined: 10 Jul 2007 Posts: 70
|
we do back up weekly once. But my concern is how can I delete the
queue file?
when I go into the directory /var/mqm/qmgrs/QM/queues I do see the correpted queue directory X!X! but when I tried to delete the directory I could n't delete it
rm -rf X!X! |
|
Back to top |
|
 |
Vitor |
Posted: Tue Jan 26, 2010 2:46 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
raz wrote: |
we do back up weekly once. But my concern is how can I delete the
queue file? |
You probably can't; certainly WMQ seems to be having some problems with deleting it.
raz wrote: |
when I go into the directory /var/mqm/qmgrs/QM/queues I do see the correpted queue directory X!X! but when I tried to delete the directory I could n't delete it
rm -rf X!X! |
So restore it off the backup. It'll then cease to be corrupt and accessable to resolution. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bruce2359 |
Posted: Tue Jan 26, 2010 2:51 pm Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Quote: |
when I go into the directory /var/mqm/qmgrs/QM/queues I do see the corrupted queue directory X!X! |
How do you know it's corrupted?
Are there other queues on this qmgr? If so, do they still function correctly?
Quote: |
...but when I tried to delete the directory I could n't delete it |
Why couldn't you? What error indicated that you couldn't.
If you have a corrupted queue object, you can navigate down the path cd /var/mqm/qmgrs/qmgrname/queues/queuename/q .
The little q thing is the actual queue container. [edit] With root authority, you should be able to delete the little q thing. After that, you should be able to DELETE QL() the queue object.
IMHO, more frequently, queues are damaged by sysadmins fiddling with the WMQ path. _________________ 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 |
|
 |
nathanw |
Posted: Wed Jan 27, 2010 12:35 am Post subject: |
|
|
 Knight
Joined: 14 Jul 2004 Posts: 550
|
personally I would be more interested in why you are even considering using the
rm -rf X!X!
in my view any admin of queues or queue managers should be carried out in the proper prescribed manner ie using the MQ INterface whether that is by gui or command line.
you say "I have displayed the queue with "dis ql(XX)", I didn't find the queue and then I throught that somebody might have accedentally deleted the queue. Then I tried to create a new queue with the same name XX,"
Shouldnt that have given away that no one had deleted the queue? yes if may not show up on the dis ql(XX), but maybe a dis ql(*) should have been used to display every queue which would have confirmed you thoughts etc.
have you tried doing an alt ql(XX) to see if you can still access the queue settings?
it may be that the queue has become unusable but as has been said altering a setting may free it up again _________________ Who is General Failure and why is he reading my hard drive?
Artificial Intelligence stands no chance against Natural Stupidity.
Only the User Trace Speaks The Truth  |
|
Back to top |
|
 |
gbaddeley |
Posted: Wed Jan 27, 2010 3:03 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
Be aware that MQ does munging on object names so that "." appears as "!" in the corresponding directory name. eg. An object named "X.X." will have a directory named "X!X!". Case is significant.
Do not use "rm -rf X!X!" to delete a queue object directory as this may corrupt the queue manager, although in your case the queue manager may already be corrupt. _________________ Glenn |
|
Back to top |
|
 |
|