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 » WebSphere Message Broker (ACE) Support » Is there a way to time out a long running query?

Post new topic  Reply to topic
 Is there a way to time out a long running query? « View previous topic :: View next topic » 
Author Message
PeterPotkay
PostPosted: Mon Jan 25, 2010 10:47 am    Post subject: Is there a way to time out a long running query? Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

WMB 6.1.0.4
WMQ 6.0.2.7
O/S is RHEL 5

A message flow with HTTPS as input is deployed to a single EG. There are 10 instances of it - the Additional Instances property has been set. One of the things it does is call out to an Oracle DB running on a remote server. Running fine for months.

Then one day the Execution Group starts taking up almost all the CPU. The SYSTEM.BROKER.EXECUTIONGROUP.QUEUE starts backing up with messages from the Config Manager anytime anyone tries to do anything in this EG. The mqsireload command doesn't help as all it does is place additional messages into SYSTEM.BROKER.EXECUTIONGROUP.QUEUE. This EG is completely hosed and the only way out is to kill -9 it. (I suppose it may have freed up if we waited long enough - see below.)

The developers find out that the Oracle DB has gotten some new data loaded into it. Like a LOT of new data. And a query that used to take a few tenths of a second now just takes a real long time. They are confident that when this "lock up" occurs that only one of the 10 instances is the problem. The other 9 apparently won't except new requests.

The developers question to me was:
1. Is there any setting that could be set that will tell the query to time out after x seconds even if its still returning gobs and gobs of valid data that satisfy the query?

2. If other unrelated flows in that same execution group were still processing, why did the other 9 instances fail to accept new requests if the 10th one was busy choking on all the results of that mega query?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
mqjeff
PostPosted: Mon Jan 25, 2010 12:42 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

There are a number of fixes in this area in 6.1.0.5 that may provide some relief.

It's certainly worth a test, since you've been able to isolate.

There are also some undocumented options you can set on ComIBMDatabaseManager using mqsichangeproperties, but I don't recall what they are off the top of my head.

And of course, you can probably tune query timeouts in your DB server or the db client config.

As for the unavailable instances, it's not clear whether the hangup is at the biphttplistener or inside the HTTPInput node code. I'd suspect the issue is more likely at the listener, but a trace should shed some light.

You know, the same trace you'd need to take if you opened a PMR.
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 » WebSphere Message Broker (ACE) Support » Is there a way to time out a long running query?
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.