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 » IBM MQ API Support » Resource contention in API

Post new topic  Reply to topic
 Resource contention in API « View previous topic :: View next topic » 
Author Message
tso0rxp
PostPosted: Wed Aug 14, 2002 3:56 am    Post subject: Resource contention in API Reply with quote

Voyager

Joined: 07 Jan 2002
Posts: 85

Environment: MQ v5.2 (upgraded past Sunday from 5.0). Solaris v2.6. Mercator 5.0 with MQ Adapters. Multiple (20+) applications set up with triggering (every). Since the upgrade, 1 particular interface that triggers a script to run Mercator is failing with 'target not available' - target being the queue manager. It does not happen on all messages, though. Only 2 or 3 of them are failing out of 15. Other apps with triggering are running near the same time OK and the queue manager is available.

Things i've noticed... memory on server low at the time but not critically low. Three trigger monitors are running servicing all applications (started using runmqtrm). Never had this happen under v5.0. No FDC files generated. No other messages from MQ Series in the error directories. Server was not recycled after upgrade.

When triggered application fails a message is put to SYSTEM.DEAD.LETTER.QUEUE and the contents are

Dead Letter Header:
Reason = 265 (Appl Cannot Be Started)
Dest. Queue = QI.LOW
Dest. QMgr = MERP
ApplName = RUNMQTRM
Put Date = 20020814
Put Time = 07592658

**************************************************************************
Application data, however, stays in the application queue set up as triggered every. I then manually run the 'triggered' script to push the data through.

Hopefully, the board will ask additional info. and/or suggestions for resolution. This problem is waking me up at 2:30am the last 3 mornings so I'm anxiously awaiting advice!
Back to top
View user's profile Send private message Send e-mail
bduncan
PostPosted: Wed Aug 14, 2002 6:32 am    Post subject: Reply with quote

Padawan

Joined: 11 Apr 2001
Posts: 1554
Location: Silicon Valley

A couple questions:
1) Why do you have 3 trigger monitors running? If you are only using a single initiation queue, then definitely, you should only be using one trigger monitor. If you have 3 initiation queues, perhaps you should consider consolidating it down to one.
2) Have you tried running the trigger monitor(s) in the foreground? Typically the trigger monitor will send a more verbose explanation to stdout when it fails to trigger an application.
3) Since you are triggering different applications, it sounds like the messages you are triggering off of are of different types, i.e., their contents differ in some way which requires different applications to process them. You mentioned that the problem "does not happen on all messages" - have you noticed if the problem occurs only on certain types of messages? Or messages bound for a particular application?
_________________
Brandon Duncan
IBM Certified MQSeries Specialist
MQSeries.net forum moderator
Back to top
View user's profile Send private message Visit poster's website AIM Address
tso0rxp
PostPosted: Wed Aug 14, 2002 9:16 am    Post subject: Reply with quote

Voyager

Joined: 07 Jan 2002
Posts: 85

We have 3 trigger monitors running because of the volume of IDOC's that come from our SAP system and the amount of time it takes to process each IDOC. If we didn't do this we would never complete the batch cycles in time for the next day's business. We don't trigger background tasks, either, so each message must be fully processed before another is released from the initiator.

Yes, I've tried running the monitors in the foreground. I never really noticed what additional info is available to stdout. Maybe I'll do that tonight. Thanks.

The type of message may have something to do with this - because certain message types from SAP are processed by certain Mercator maps within our system.

Thanks for the ideas.
Back to top
View user's profile Send private message Send e-mail
tso0rxp
PostPosted: Thu Aug 15, 2002 6:53 am    Post subject: Reply with quote

Voyager

Joined: 07 Jan 2002
Posts: 85

I took this interface and single threaded the messages thru 1 trigger monitor and it ran successfully.

Unfortunately, I can't do this to the other interfaces that are failing. I had another go down last night because the triggered process could not receive the message from the QMGR. I sporatically received message 'could not connect to qmgr'. Strange thing was that while the interface was running I was on another terminal issuing 'runmqsc' commands to monitor the queue depth. Periodically, my runmqsc command would fail because it could not connect to the qmgr. Then, a few seconds later I would enter the same command and see the depth of all the queues.

Strange indeed.
Back to top
View user's profile Send private message Send e-mail
mrlinux
PostPosted: Thu Aug 15, 2002 7:21 am    Post subject: Reply with quote

Grand Master

Joined: 14 Feb 2002
Posts: 1261
Location: Detroit,MI USA

I know this is reaching but can you try bumping up the max handles

runmqsc
alt qmgr maxhands(1024)

I tried it on NT it appears to take affect without a restart.
_________________
Jeff

IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries
Back to top
View user's profile Send private message Send e-mail
tso0rxp
PostPosted: Thu Aug 15, 2002 7:30 am    Post subject: Reply with quote

Voyager

Joined: 07 Jan 2002
Posts: 85

I will try this.

Before I do it, however, I stumbled on to something.

I ran the application again and was able to make it fail each time. This allowed me to tweak some things in the application script that is triggered. One thing the developers do in their scripts is test for qmgr availability by writing a dummy message to a generic queue and then delete the message before the actual application queues are read.

I commented out this extraneous code and the application that was failing suddenly does not fail.

One other common thread to the failing applications is the error 'qmgr not available' was only occurring for the the Mercator maps that dump the data to a file (vs. a remote or local queue). I'm not sure what the relationship is to the error I'm having, though.

If I continue to get failures, I'll try your suggestion on maxhands.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » IBM MQ API Support » Resource contention in API
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.