Author |
Message
|
shashivarungupta |
Posted: Thu Mar 04, 2010 3:29 am Post subject: Cause of ' last batch of messages' : Channels botched up ! |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
Hi,
When a sender receiver channel pair goes in retrying state because of remote queue manager did not accept the last batch of messages., then how should we take care of this situation ? How should we bring them up ?
One queue manager is the Config. mgr qmgr(QM1) and another is Broker qmgr(QM2).
QM2 is the remote queue manager for QM1 queue manager on the same server.
MQ v6.0.2.1
Thanks _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
mvic |
Posted: Thu Mar 04, 2010 3:46 am Post subject: Re: Cause of ' last batch of messages' : Channels botched up |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
The channel should retry, and should resolve the situation automatically.
Is this not happening? What are the error messages being seen? |
|
Back to top |
|
 |
shashivarungupta |
Posted: Thu Mar 04, 2010 3:53 am Post subject: Re: Cause of ' last batch of messages' : Channels botched up |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
mvic wrote: |
The channel should retry, and should resolve the situation automatically.
Is this not happening? What are the error messages being seen? |
No, this is not happening unfortunately.
When I digged in.. I found something ( with explanation given below ) :
QM2 is the remote queue manager for QM1 queue manager.
Following is the error we got on QM2 queuemanager error log.
"The attempt to open either the queue or queue manager object 'QL.TEST.OUTPUT.1' on queue manager 'QM2' by user '' failed with reason code 2085."
Following is the error we got on QM1 queuemanager error log.
"Channel 'QM1_QM2' has ended because the remote queue manager did not accept the last batch of messages."
Messages on the xmitQ on QM1 qmgr with name QM2 are there (curdepth 4) because the sender channel QM1_QM2 is in RETRYING state.
Did try to Stop the channel in mode Force and Start it.
But the channels go inthe RETRYING and then in INACTIVE state. _________________ *Life will beat you down, you need to decide to fight back or leave it.
Last edited by shashivarungupta on Thu Mar 04, 2010 3:59 am; edited 1 time in total |
|
Back to top |
|
 |
mvic |
Posted: Thu Mar 04, 2010 3:56 am Post subject: Re: Cause of ' last batch of messages' : Channels botched up |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
shashivarungupta wrote: |
"The attempt to open either the queue or queue manager object 'QL.TEST.OUTPUT.1'
on queue manager 'QM2' by user '' failed with reason code 2085." |
I hope you don't mind me suggesting this, but I would be able to read your post better if you used some double line breaks.
Like this.
Anyway, I suppose you need to look at why the 2085 reason is thrown for the queue QL.TEST.OUTPUT.1.
2085 means the queue name is wrong. Maybe it has been deleted on the RCVR side? |
|
Back to top |
|
 |
shashivarungupta |
Posted: Thu Mar 04, 2010 4:04 am Post subject: Re: Cause of ' last batch of messages' : Channels botched up |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
mvic wrote: |
shashivarungupta wrote: |
"The attempt to open either the queue or queue manager object 'QL.TEST.OUTPUT.1'
on queue manager 'QM2' by user '' failed with reason code 2085." |
I hope you don't mind me suggesting this, but I would be able to read your post better if you used some double line breaks.
Like this. |
Yes. I did that.
mvic wrote: |
Anyway, I suppose you need to look at why the 2085 reason is thrown for the queue QL.TEST.OUTPUT.1.
2085 means the queue name is wrong. Maybe it has been deleted on the RCVR side? |
2085 0x00000825 MQRC_UNKNOWN_OBJECT_NAME , instead of the wrong queue name. May be the queue was not being defined or was being deleted without any notification (or by mistake.)
Anyways...
Yes. It looks like that, this is the culprit. _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
mvic |
Posted: Thu Mar 04, 2010 4:10 am Post subject: Re: Cause of ' last batch of messages' : Channels botched up |
|
|
 Jedi
Joined: 09 Mar 2004 Posts: 2080
|
shashivarungupta wrote: |
2085 0x00000825 MQRC_UNKNOWN_OBJECT_NAME , instead of the wrong queue name. |
If as a user of MQ you type the wrong queue name, MQ will probably complain it is an unknown queue name.
Eg.
runmqsc QM
> DEFINE QL('myqueue')
amqsput myqueu QM
Output is:
Code: |
Sample AMQSPUT0 start
target queue is myqueu
MQOPEN ended with reason code 2085
unable to open queue for output
Sample AMQSPUT0 end |
|
|
Back to top |
|
 |
shashivarungupta |
Posted: Thu Mar 04, 2010 4:50 am Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
Thursday is hitting me ! Friday is not far...  _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
Mr Butcher |
Posted: Thu Mar 04, 2010 6:50 am Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
yes, if you use an appklication program you will get a 2085 returncode during mqput if you use a local non-existing queue name.
but in this situation, it is distributed queueing. message has been put on QM1 destigned for a queue on QM2. MQ sends message to QM2. MCA on QM2 tries to put to the target queue, but for whatever reason it does not exist. Now next action of the MCA on QM2 is to put the message to the dead letter queue. But, in this case, it seems that no DLQ is defined or it has not been specified in the DEADQ attribute of the QMGR. Now QM2 is unable to store the message, and refuces to accept them. This results in the "did not accept the last batch of message" error on QM1 an the channel going into retry.
nmake sure your target queue is defined and that the receiving MCA is able to put to that queue, then the channel should work and everything should recover itself. stopping starting channel in that case does not help anything.
or define a dead letter queue on QM2. In that case these "2085" messages will end up there, but other messages for other queues may pass the channe successfully. _________________ Regards, Butcher |
|
Back to top |
|
 |
shashivarungupta |
Posted: Thu Mar 04, 2010 7:03 am Post subject: |
|
|
 Grand Master
Joined: 24 Feb 2009 Posts: 1343 Location: Floating in space on a round rock.
|
Mr Butcher wrote: |
yes, if you use an appklication program you will get a 2085 returncode during mqput if you use a local non-existing queue name.
but in this situation, it is distributed queueing. message has been put on QM1 destigned for a queue on QM2. MQ sends message to QM2. MCA on QM2 tries to put to the target queue, but for whatever reason it does not exist. Now next action of the MCA on QM2 is to put the message to the dead letter queue. But, in this case, it seems that no DLQ is defined or it has not been specified in the DEADQ attribute of the QMGR. Now QM2 is unable to store the message, and refuces to accept them. This results in the "did not accept the last batch of message" error on QM1 an the channel going into retry.
nmake sure your target queue is defined and that the receiving MCA is able to put to that queue, then the channel should work and everything should recover itself. stopping starting channel in that case does not help anything.
or define a dead letter queue on QM2. In that case these "2085" messages will end up there, but other messages for other queues may pass the channe successfully. |
Yes. I got it.
I had defined the QL for which I noticed an error in qmgr error log, and then after channels came up in RUNNING state from the RETRYING.
It looks good as far as MQ is concerned.
Those queue managers were Config. mgr Qmgr and Broker Qmgr, so the confirmation is yet to come from the guys who gonnu deploy the bar file in EG under that Broker which is associated with the BrokerQmgr and having communication with Config mgr. ( sndr - rcvr channel pair is RUNNING now). _________________ *Life will beat you down, you need to decide to fight back or leave it. |
|
Back to top |
|
 |
|