ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » MQ queue unable to GET after messages delivered

Post new topic  Reply to topic
 MQ queue unable to GET after messages delivered « View previous topic :: View next topic » 
Author Message
Bnikpour
PostPosted: Fri Jun 07, 2013 9:56 am    Post subject: MQ queue unable to GET after messages delivered Reply with quote

Novice

Joined: 19 Apr 2011
Posts: 20
Location: Phoenix, AZ

Issue:

We are running Websphere MQ Version 7.0.1.5. When messages are put to the Request queue, one of the messages prevents the consuming application from being able to consume it and any subsequent messages. As a result messages pile up in the request queue. We are unable to save off any of the messages because our tools are also unable to perform a GET on the queue and all the messages have to be cleared from the queue in order to restore it to normal operation resulting in a
subsquent loss of data.

All other queues on the QM behave normally

Symptoms:
Error code 2009 is shown when trying to GET from the queue using any tools (M071,MQ Explorer)

All handles on the queue from the consuming application die

WPS is able to put new messages onto the queue and they keep piling up in the request queue. Messages are in XML format.

None of the messages that cause this error go to the Error queue or the hold queue defined for the request queue . We are sure that the Error queue works as designed as other illformated messages do occasionally end up in it.


What we have tried:

We originally thought the issue maybe related to message size due to APAR
IZ63971: CLIENT APPLICATION RECEIVES 2009 RETURN CODE WHEN TRYING TO GET
LARGE MESSAGE FROM QUEUE: FDC WITH PROBE ID RM496003 OR RM496002

We tired putting a large 42kb message through our performance environment and it was picked up successfully by the consuming application. This is not the issue.


Any ideas from the experts on the forums?
_________________
Addicted to E-mail, not by choice.
MQ & WAS Admin
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Jun 07, 2013 10:20 am    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

What is your poison message handling ?
Are you retrieving the message with properties or RFH2?
Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Bnikpour
PostPosted: Fri Jun 07, 2013 10:40 am    Post subject: Reply with quote

Novice

Joined: 19 Apr 2011
Posts: 20
Location: Phoenix, AZ

Message is retrieved with RFH2

Consuming application is running on WAS using JMS

Poison messages should be rerouted to a Error queue on the same queue manager, and the normal function of both the consuming application and the QM is to route those messages back into a error queue. We also tested this and it works as most poison messages do in fact end up in this error queue.

Totally perplexed as to why in this one specific case that is not happening.
_________________
Addicted to E-mail, not by choice.
MQ & WAS Admin
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Jun 07, 2013 12:13 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

if amqsbcg doesn't show the message, then it's not committed or the q storage file is corrupt somehow...
Back to top
View user's profile Send private message
Bnikpour
PostPosted: Fri Aug 23, 2013 9:11 am    Post subject: Reply with quote

Novice

Joined: 19 Apr 2011
Posts: 20
Location: Phoenix, AZ

Hi everyone,

Just wanted to update this thread on the root cause for the issue in case anyone in the future has it again.


Root Cause

The root cause was that the messages were being manually edited and resubmitted to the queue using a 8 year old version of RFHutil-C. This version incorrectly strips some of the header information from messages containing special characters which leaves the header size too small for a RFH2 header.

The poison message is ,however, able to successfully enter the queue and a GET is performed by the consuming application. However, the poison message was then unable to be committed by the consuming application which left the queue unable to GET.

Once we asked the developers to update their RFHutil-C to the newest version the problem went away.

Moral of the story:
Make sure your application developers are using the newest version of SupportPacs



_________________
Addicted to E-mail, not by choice.
MQ & WAS Admin
Back to top
View user's profile Send private message
smdavies99
PostPosted: Fri Aug 23, 2013 9:30 am    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

Thanks for letting us know the reason for the problem and the fix.

You would not be surprised how reluctant many sites are to upgrade or to even try newer versions of tools.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
Gerd-in-ZA
PostPosted: Thu Aug 29, 2013 3:07 am    Post subject: Reply with quote

Novice

Joined: 13 Sep 2006
Posts: 14
Location: Johannesburg, South Africa

Another popular cause for this kind of behavior would be a log overrun - smallish circular logs (e.g. the size offered as default by MQ Explorer) - one or more applications write enough data to the log so that the next bit to be written would overwrite the first bit that is still needed. MQ will then back out transactions to free up log space. If I remember correctly there are about three or so reason codes that can come up in such a situation and 2009 should be one of those.

Please note that - as luck would have it - sometimes you can't identify a single offending application and sometimes you can. Occasionally it helps to remind a programmer that he wanted to include MQCMIT calls in his program ...

In any event, this is also a perfect opportunity to remind people that the default log sizes are WAY TOO SMALL for normal production use. And you can up the number of log files during a QM restart, but to change the log file size requires a complete redefinition of the QM - better give it a good mouthful right up front ...
_________________
-- Gerd --
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » MQ queue unable to GET after messages delivered
Jump to:  



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
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.