Author |
Message
|
gertvangaever |
Posted: Fri Jan 16, 2004 5:38 am Post subject: can not delete messages because:Message descriptor not valid |
|
|
Apprentice
Joined: 28 Apr 2003 Posts: 35 Location: Puurs, Belgium
|
Hello,
I have 197 messages in our SYSTEM.DEAD.LETTER.QUEUE.
This queue should be emptied, as we have found the cause of the messages being put on the SDLQ.
When I try to 'clear queue', I get a message that the queue is in use.
So I try to use pqedit, where I get an error 'PQE 2026 - Message descriptor not valid'. The reason why this error message appears is not important to us, but we still want the queue to be cleared, and it doesn't seem to be possible as long as 'the message descriptor is not valid'.
So my question is: how can I delete all these messages? Do I first have to 'validate the Message Descriptor'?
Anyone? |
|
Back to top |
|
 |
Leafar |
Posted: Fri Jan 16, 2004 5:58 am Post subject: |
|
|
 Acolyte
Joined: 03 Apr 2003 Posts: 74 Location: Buenos Aires
|
Try with amqsget sample
Saludos
Rafael |
|
Back to top |
|
 |
gertvangaever |
Posted: Fri Jan 16, 2004 6:22 am Post subject: |
|
|
Apprentice
Joined: 28 Apr 2003 Posts: 35 Location: Puurs, Belgium
|
[quote="Leafar"]Try with amqsget sample
Saludos
Rafael[/quote]
Then I get:
'MQGET ended with reason code 2080'
(Truncated message returned (processing not completed)) |
|
Back to top |
|
 |
Leafar |
Posted: Fri Jan 16, 2004 6:31 am Post subject: |
|
|
 Acolyte
Joined: 03 Apr 2003 Posts: 74 Location: Buenos Aires
|
If you can compile the amqsget0.c program, change the value
MQBYTE buffer[101]; /* message buffer */
to another value and try again.
Saludos
Rafael
PS: if you want, I can try to send you a complied version (Unix only) |
|
Back to top |
|
 |
gertvangaever |
Posted: Fri Jan 16, 2004 6:33 am Post subject: |
|
|
Apprentice
Joined: 28 Apr 2003 Posts: 35 Location: Puurs, Belgium
|
[quote="Leafar"]If you can compile the amqsget0.c program, change the value
MQBYTE buffer[101]; /* message buffer */
to another value and try again.
Saludos
Rafael
PS: if you want, I can try to send you a complied version (Unix only)[/quote]
Unfortunately, I can't compile the amqsget0.c program.
Even more unfortunate, we use Windows here...
Is there no other way? |
|
Back to top |
|
 |
bower5932 |
Posted: Fri Jan 16, 2004 6:49 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
If the queue is in use, you won't be able to issue a clear command. However, you will be able to get all of the messages off of the queue to empty it.
You could also change the amqsget program to accept a truncated message rather than increasing the buffer size. |
|
Back to top |
|
 |
Leafar |
Posted: Fri Jan 16, 2004 7:32 am Post subject: |
|
|
 Acolyte
Joined: 03 Apr 2003 Posts: 74 Location: Buenos Aires
|
Now, try with the amqstrg sample program and let me know if work
Saludos
Rafael |
|
Back to top |
|
 |
RogerLacroix |
Posted: Fri Jan 16, 2004 7:42 am Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Hi,
MQ Visual Edit has both a ClearQ command and a delete messages function to remove messages from any queue including the Dead Letter Queue.
You can download a 30-day trial at:
http://www.capitalware.biz/products.html
Note: Since the queue is open, do the following to delete the messages from the Dead Letter Queue:- Open the Dead Letter Queue
- Select the messages to be deleted (i.e. CTRL-A to select all)
- Click Edit -> Delete Messages from the menu (or do CTRL-D)
- Then answer Yes that you are sure you want to delete the messages.
- Now refresh the queue (i.e. File -> Refresh Queue from the menu or CTRL-R)
Hope that helps.
Regards,
Roger Lacroix
Capitalware Inc. _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
RogerLacroix |
Posted: Fri Jan 16, 2004 8:00 am Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
|
Back to top |
|
 |
csmith28 |
Posted: Mon Jan 19, 2004 6:09 pm Post subject: |
|
|
 Grand Master
Joined: 15 Jul 2003 Posts: 1196 Location: Arizona
|
I just recompiled the amqsget sample to handle messages larger than 4meg and I had to edit the buffer field instead of buflen due to a statement in the current 5.3 sample that says buflen = buffer. _________________ Yes, I am an agent of Satan but my duties are largely ceremonial. |
|
Back to top |
|
 |
SAFraser |
Posted: Mon Jan 26, 2004 2:37 pm Post subject: Alter QMGR |
|
|
 Shaman
Joined: 22 Oct 2003 Posts: 742 Location: Austin, Texas, USA
|
Create another DLQ. I usually name it SYSTEM.DEAD.LETTER.QUEUE.ALT. Then inside of a "runmqsc" session, issue the command "alter qmgr deadq(system.dead.letter.queue.alt) force". Check the original DL queue in a few minutes and the PROCs will be gone. Then you can clear the queue as it will no longer be in use. As soon as you have done this, issue the command "alter qmgr deadq(system.dead.letter.queue) force" and your system is back to its original state.
I think it is a good idea to always have a alternative DLQ available for emergencies. If your SDLQ gets full, it makes quite a mess. With an alternative queue available, you can quickly alter the queue manager and start sending dead letter messages to another location. |
|
Back to top |
|
 |
|