|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
trigger message length |
« View previous topic :: View next topic » |
Author |
Message
|
ivanachukapawn |
Posted: Fri Jul 02, 2010 10:01 am Post subject: trigger message length |
|
|
 Knight
Joined: 27 Oct 2003 Posts: 561
|
The manual says (in the topic, "when triggering does not work" :
Quote: |
If a trigger message is created but cannot be put on the initiation queue (for example, because the queue is full or the length of the trigger message is greater than the maximum message length specified for the initiation queue), the trigger message is put instead on the dead-letter (undelivered message) queue. |
But if the trigger message is the message written to the initiation queue and its length is controlled by MQ and content restricted to Process Object, local queue name, etc - i.e. its size should probably be fixed and be some reasonably small number. Why does the manual state that the message will be put to the dead letter queue if it is too large? The max message length for the initiation queue will be 104,857,600 if the default is taken). That seems like an unreasonable occurrence and leads me to think a misconception (mine probably) is in the works. I ask because I have been getting 848-byte long messages in the SYSTEM.DEAD.LETTER.QUEUE which were targeted for the SYSTEM.DEFAULT.INITIATION.QUEUE. MQ5.3 Win2k system (and yes, I am aware that this MQ and this OS are both out of service). |
|
Back to top |
|
 |
Vitor |
Posted: Fri Jul 02, 2010 10:09 am Post subject: Re: trigger message length |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
ivanachukapawn wrote: |
But if the trigger message is the message written to the initiation queue and its length is controlled by MQ |
The length of no queue is controlled by WMQ. The admin has full control over the queue attributes, even the system ones. There's also no reason why a trigger message would not be sent to a user defined initiation queue.
ivanachukapawn wrote: |
I ask because I have been getting 848-byte long messages in the SYSTEM.DEAD.LETTER.QUEUE which were targeted for the SYSTEM.DEFAULT.INITIATION.QUEUE. |
And the code indicates these were dead lettered because they were too long? And the length of the initiation queue they were destined for (which may or may not be the one you think they are destined for) is large enough to take them? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Jul 02, 2010 10:10 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
The messages are going to the DLQ for the reason specified in the DLH. This might not be q full.
The default maxmsgln is not 104857600, it is going to be 4194304 and is smaller than that for SYSTEM.DEFAULT.INITIATION.QUEUE (1000) unless you have changed it.
You should give to whomever is using S.D.I.Q. Don't do that... |
|
Back to top |
|
 |
ivanachukapawn |
Posted: Fri Jul 02, 2010 10:31 am Post subject: |
|
|
 Knight
Joined: 27 Oct 2003 Posts: 561
|
Vitor: WMQ is building and writing the trigger message, that is why I said that it was controlling the message length.
Vitor: No code said that the trigger messages were too long. The manual said that a too long message was one of the reasons a message could be written to the dead letter queue.
Jeff: The max message length of the initiation queue is 104,857,600 - obviously someone set the max to that value.
Since the initiation queue exists, and is not full, I thought it might be a good idea to understand what the manual was getting at when it talked about a trigger message length exceeding the maximum message length for the queue (the 3rd explanation as to how a message could get dead queued).
Jeff: These guys who setup S.D.I.Q are long gone. |
|
Back to top |
|
 |
Vitor |
Posted: Fri Jul 02, 2010 10:34 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
ivanachukapawn wrote: |
Vitor: WMQ is building and writing the trigger message, that is why I said that it was controlling the message length. |
My bad.
ivanachukapawn wrote: |
Vitor: No code said that the trigger messages were too long. The manual said that a too long message was one of the reasons a message could be written to the dead letter queue. |
I know that. I was asking about the code on the actual message in the dead letter queue said about why that specifc message was in the dead letter queue. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Jul 02, 2010 11:31 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Just because the maxmsgln of your queue is large enough to hold a trigger message, it doesn't mean that this will be true in all cases. That's what the manual is saying, that someone could set the maxmsgln of the initq to a value that can not contain the MQTMC structure + MQMD structure that is being generated.
Just because the qmgr generates the initiation message in the "normal" case, doesn't mean you should believe that's the only way that messages will *ever* end up on the initiation queue... This is one major reason NOT to use S.D.I.Q. It's dead easy for me to write a program that puts a malicious trigger message on that queue once I have any connectivity to your qmgr.
And, again, just because someone else set a trigger monitor to read from S.D.I.Q doesn't mean that you have to keep it. Dead easy to fix, entirely an administrative change, and requires only a bounce of the trigger monitor and not an interruption in application processing. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|