Author |
Message
|
shashivarungupta |
Posted: Wed Jun 10, 2009 4:14 am Post subject: DLQ and Rules Table |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
As we know we can execute the DLQ handler using the runmqdlq command.
Suppose in my windows system i have created a set of queue managers. say 2 of them and we haven't set the default one.
Then when we run the runmqdlq with out the parameters i.e. blank Queue name and blank QM name. Then what will happen?
"As IBM says :
* If no queue manager name is supplied as an explicit parameter to runmqdlq, use the default queue manager for the machine.
* If no queue name is supplied as an explicit parameter to runmqdlq, use the DLQ defined for the local queue manager. "
C:\>dspmqver
Name: WebSphere MQ
Version: 6.0.2.4
CMVC level: p600-204-080509
BuildType: IKAP - (Production)
Another thing, I have rfhutil and a dummy QM and its Q.
I was trying, somehow message should go to the DLQ deliberately instead of Q in QM.
I tried..scenarios of Max QDepth, Max MessageLength, Put Inhibited, Using Alias and No target Queue.
All the times I was getting MQRC (that is good actually**) but my purpose, of sending message to DLQ deliberately and
then see how reason-action pair (that was in Rules table) gets executed, was failed.
I don't want messages to be put in DLQ using mq explorer on windows, as they dont have MQDLH.
** I believe IBM has come up with some ideas in its latest MQ fix packs and versions since after v5.3 as to give MQRC straight away... while application is trying to put the message(s) on the queue whereas something is wrong on that queue, instead of putting the message on the DLQ directly. _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Jun 10, 2009 4:22 am Post subject: Re: DLQ and Rules Table |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
shashivarungupta wrote: |
Then when we run the runmqdlq with out the parameters i.e. blank Queue name and blank QM name. Then what will happen? |
The same as for any WMQ application with insufficient connection details.
shashivarungupta wrote: |
I believe IBM has come up with some ideas in its latest MQ fix packs and versions since after v5.3 as to give MQRC straight away... while application is trying to put the message(s) on the queue whereas something is wrong on that queue, instead of putting the message on the DLQ directly. |
It has always been the case that you'd get a return code if the queue manager onto which you're doing a put detects a problem. The DLQ is explictly for messages received by a queue manager that can't be accepted (for the reasons you list for example). Define a second queue manager, put the message via rfhutil from there and you'll see them flow onto the DLQ of the target queue manager. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
shashivarungupta |
Posted: Wed Jun 10, 2009 8:03 am Post subject: Re: DLQ and Rules Table |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
Vitor wrote: |
shashivarungupta wrote: |
Then when we run the runmqdlq with out the parameters i.e. blank Queue name and blank QM name. Then what will happen? |
The same as for any WMQ application with insufficient connection details.
|
Its not necessary to pass the parameters in runmqdlq ( I can pass parameters in rules table as well)
as:
inputqm(’ ’) inputq(’ ’)
Quote: |
........with insufficient connection details |
I'm not sure about the 'insufficient connection detail', need to check on that in this case. But I have seen this kind of errors/exceptions at application level when appli. is not able to make a connection over the given parameters as ip, port, qm, chl, ssl cipher etc. etc. _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Jun 10, 2009 8:10 pm Post subject: Re: DLQ and Rules Table |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
shashivarungupta wrote: |
I'm not sure about the 'insufficient connection detail', need to check on that in this case. But I have seen this kind of errors/exceptions at application level when appli. is not able to make a connection over the given parameters as ip, port, qm, chl, ssl cipher etc. etc. |
Just wanting to remind you that runmqdlq is a server process and cannot use a client connection.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Vitor |
Posted: Wed Jun 10, 2009 11:47 pm Post subject: Re: DLQ and Rules Table |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
fjb_saper wrote: |
shashivarungupta wrote: |
I'm not sure about the 'insufficient connection detail', need to check on that in this case. But I have seen this kind of errors/exceptions at application level when appli. is not able to make a connection over the given parameters as ip, port, qm, chl, ssl cipher etc. etc. |
Just wanting to remind you that runmqdlq is a server process and cannot use a client connection.  |
Doh!  _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
shashivarungupta |
Posted: Thu Jun 11, 2009 4:48 am Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
I got a rules table RULES.RUL
and I am getting one parser error when trying to execute runmqdlq command on DLQ1, of TEST1 queue manager (when appl. is trying to put the msg on LOCALQ which has reached its max depth limit).
Now the messages are coming to DLQ1 with MQRC_Q_FULL reason.
RULES.RUL contains:
REASON(MQRC_Q_FULL) ACTION(FWD) FWDQ(DLQX) FWDQM(&DESTQM)
and Error we got :
C:\Program Files\IBM\WebSphere MQ\Qmgrs\TEST1>RUNMQDLQ DLQ1 TEST1 < RULES.RUL
parse error on line 1
...2009-06-11 18.08.54 AMQ8758: 1 errors detected in input to runmqdlq.
2009-06-11 18.08.54 AMQ8709: Dead-letter queue handler ending.
Right now I am trying runmqdlq with parameters. (Yet to check without parameters and without setting the default QM ). _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
shashivarungupta |
Posted: Thu Jun 11, 2009 4:51 am Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
THIS IS THE error that is on queue manager error log.
-------------------------------------------------------------------------------
6/11/2009 18:08:54 - Process(5704.1) User(t2589vg) Program(runmqdlq.exe)
AMQ8758: 1 errors detected in input to runmqdlq.
EXPLANATION:
One or more errors have been detected in the input to the dead-letter queue
handler(runmqdlq). Error messages will have been generated for each of these
errors. The dead-letter queue handler ends.
ACTION:
Correct the input data and restart the dead-letter queue handler.
-------------------------------------------------------------------------------
*In the previous post, DLQX is the local queue on TEST1, where I want to forward the message from DLQ1 of TEST1. _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
friedl.otto |
Posted: Thu Jun 11, 2009 4:54 am Post subject: |
|
|
Centurion
Joined: 06 Jul 2007 Posts: 116
|
Hmmm, the time runmqdlq saved my life in production ... how did I do it?
I recall having some issues too, and I think it was the rules file, very touchy about how you do it. _________________ Here's an idea - don't destroy semaphores unless you're certain of what you're doing! -- Vitor |
|
Back to top |
|
 |
shashivarungupta |
Posted: Thu Jun 11, 2009 5:00 am Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
friedl.otto wrote: |
I recall having some issues too, and I think it was the rules file.... |
actually what was in there or what was issue with that (rules file) ? _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
shashivarungupta |
Posted: Thu Jun 11, 2009 5:22 am Post subject: Re: DLQ and Rules Table |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
Vitor wrote: |
shashivarungupta wrote: |
Then when we run the runmqdlq with out the parameters i.e. blank Queue name and blank QM name. Then what will happen? |
The same as for any WMQ application with insufficient connection details.
|
I agree on this.
I tried.. as got it:
C:\Program Files\IBM\WebSphere MQ\Qmgrs\TEST1>RUNMQDLQ < RULES.RUL
2009-06-11 18.48.09 AMQ8741: Unable to connect to queue manager.
parse error on line 1
...2009-06-11 18.48.09 AMQ8758: 2 errors detected in input to runmqdlq.
2009-06-11 18.48.09 AMQ8709: Dead-letter queue handler ending.
where parse error on line 1(above) is the error that I posted earlier as a question.
 _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Jun 11, 2009 5:32 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
This is familiar...
I know this was (is?) an issue on Windows if the last line of the rules table (Notepad) did not have a CR/LF character at the end - basically a blank line as the last line. _________________ 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 |
|
 |
shashivarungupta |
Posted: Thu Jun 11, 2009 9:07 am Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
bruce2359 wrote: |
This is familiar...
I know this was (is?) an issue on Windows if the last line of the rules table (Notepad) did not have a CR/LF character at the end - basically a blank line as the last line. |
I have been using EditPlus as a text editor, and when I have created the RULES.RUL table, there was a single line only. I took care.. as there should not be any special characters/new lines/low values.
(basically EditPlus shows the line numbers and there was only one line in RULES.RUL file.) _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Jun 11, 2009 10:29 am Post subject: |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
Try adding a blank line as the last line. _________________ 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 |
|
 |
shashivarungupta |
Posted: Thu Jun 11, 2009 10:39 am Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
bruce2359 wrote: |
Try adding a blank line as the last line. |
Oops... you meant to say that there should be a new blank line.
I thought, it shouldn't be., because in most of the cases when we faced parser kind of errors...those are/were because of leading characters (whether its a blank/new line).
Anyways...I'll try that and will be back..until then ASTALAVISTA  _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
PeterPotkay |
Posted: Thu Jun 11, 2009 10:43 am Post subject: |
|
|
 Poobah
Joined: 15 May 2001 Posts: 7722
|
The blank line as the last line is a requirement for MQ on Windows only. I submitted feedback to the InfoCenter people that they should add this critical info in there. I wasted a day on this same problem a few months ago - do a search on this site. _________________ Peter Potkay
Keep Calm and MQ On |
|
Back to top |
|
 |
|