Author |
Message
|
bpsree |
Posted: Thu Oct 21, 2004 11:34 am Post subject: ICS -MQ - Connection problems |
|
|
Novice
Joined: 13 Sep 2004 Posts: 18
|
We have a production ICS server that is running and I am trying to
connect to the Q Mgr. on the production server from another development
ICS server with the help of MQ adapters.
The MQ adapters are able to run for some time and pull the messages
for sometime and somehow the connection is getting lost and the MQ
adapters are stopping abruptly.
I got the following error message in the Error Logs of production Q Mgr.
Quote: |
AMQ9208: Error on receive from host xxxx
EXPLANATION:
An error occurred receiving data from xxxx over TCP/IP. This may be due to a communications failure.
ACTION:
The return code from the TCP/IP (recv) call was 10054 (X'2746'). |
I have been suggested by one MQ person to create a dead letter Q on the
production box.
1) there is a dead letter queue SYSTEM.DEAD.LETTER.QUEUE defined on
the qmgr on the production server. Do I have to create another dead
letter Q to handle undeliverable messages?
2) Messages failed to be put to queue 'Q2' with reason code 2053. 2053
is MQRC_Q_FULL. If I increase the size of max. Q depth on this Queue,
would that help me to get rid off the connection problems.
I appreciate your suggestions..
Thank you, |
|
Back to top |
|
 |
offshore |
Posted: Thu Oct 21, 2004 12:19 pm Post subject: |
|
|
 Master
Joined: 20 Jun 2002 Posts: 222
|
1.] No you don't need an additional DLQ. Only 1 per queue manager.
2.] I don't think so. You're dealing w/ 2 separate issues. If a particular queue is full, an additional messages attempted to be delivered to the queue will get places in the DLQ.
You need to figure you why you have a large amount of messages on that particular queue. Is the application not picking them up?
The return code 10054 means the connection was reset by the peer
computer - in other words, an existing connection was forcibly closed
by the remote host. |
|
Back to top |
|
 |
bpsree |
Posted: Fri Oct 22, 2004 4:31 am Post subject: Thank you |
|
|
Novice
Joined: 13 Sep 2004 Posts: 18
|
Thank you journeyman,
I am analyzing my application on the development server to figure what is happening exactly. As you said, I need not create another DLQ, but just make the Q Mgr. use the existing and the Max. Q Depth on the Q has nothing to do with resetting of the connection.
Thanks anyway!! |
|
Back to top |
|
 |
csmith28 |
Posted: Fri Oct 22, 2004 12:01 pm Post subject: Re: Thank you |
|
|
 Grand Master
Joined: 15 Jul 2003 Posts: 1196 Location: Arizona
|
bpsree wrote: |
Thank you journeyman,
I am analyzing my application on the development server to figure what is happening exactly. As you said, I need not create another DLQ, but just make the Q Mgr. use the existing and the Max. Q Depth on the Q has nothing to do with resetting of the connection.
Thanks anyway!! |
Well if the queue the application is putting to is full and the MQManager cannot put the messages anywhere else because not DLQ is defined or you have not told your MQMGR to use the SYSTEM.DEAD.LETTER.QUEUE with the -u argument when the MQMGR was created it may be causing the application to fail.
Historically when I see the "connection reset by peer" TCP/IP Return Code it means the application has failed (in most cases).
So if the application is getting a 2053 MQRC_Q_FULL, perhaps the it is failing because it does not know how to deal with these set of circumstances.
What you need to do is, figure out why your destination Queue is filling up. If you just enlarge the MAXDEPTH on the destination Queue and the application that is supposed to be GETTING those messages off that queue still isn't doing it's job then your queue will fill up again. The only difference is, it will have more messages in it waiting to be picked up.
offshore's advice was sound. _________________ Yes, I am an agent of Satan but my duties are largely ceremonial. |
|
Back to top |
|
 |
bpsree |
Posted: Mon Oct 25, 2004 4:35 am Post subject: DLQ assignment |
|
|
Novice
Joined: 13 Sep 2004 Posts: 18
|
Thank you master,
The Q Mgr. is in production. And I am not sure how do I assign the SYSTEM DLQ to the existing Q Mgr.
Could you please let me know, how do I this. I have already increased the Max Q depth on the Input Q.
After pointing the Q mgr to the DLQ, I would run the application and see if it works fine.
Thanks! |
|
Back to top |
|
 |
csmith28 |
Posted: Mon Oct 25, 2004 7:33 am Post subject: |
|
|
 Grand Master
Joined: 15 Jul 2003 Posts: 1196 Location: Arizona
|
alter qmgr DEADQ(SYSTEM.DEAD.LETTER.QUEUE) or you can define your own unique DLQ but there isn't much point in it. You can only have one DLQ so why not use the default. _________________ Yes, I am an agent of Satan but my duties are largely ceremonial. |
|
Back to top |
|
 |
|