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 » Queue manager hangs

Post new topic  Reply to topic
 Queue manager hangs « View previous topic :: View next topic » 
Author Message
MichaelGoltsman
PostPosted: Tue Nov 27, 2001 11:26 pm    Post subject: Reply with quote

Novice

Joined: 14 Nov 2001
Posts: 10

Hi All,

I've developed a multi-threaded app doing puts, gets, commits and rollbacks in a mix.

When I run it with a reasonable load, the queue manager hangs. It hangs so hard that I can't stop it neither with endmqm -i nor with endmqm -p (

Can anybody help me?

Thank you in advice,
Mike
Back to top
View user's profile Send private message Send e-mail
kolban
PostPosted: Wed Nov 28, 2001 7:52 am    Post subject: Reply with quote

Grand Master

Joined: 22 May 2001
Posts: 1072
Location: Fort Worth, TX, USA

Are there any error messages logged in the error logs such as /var/mqm/qmgrs//errors?

Is the application compiled for FASTPATH bindings to the queue manager?

Have you run low on paging space or disk?

Does the app use SyncPointing for its puts/gets?

Is the Queue Manager configured with circular or linear logging?
Back to top
View user's profile Send private message
MichaelGoltsman
PostPosted: Wed Nov 28, 2001 8:31 am    Post subject: Reply with quote

Novice

Joined: 14 Nov 2001
Posts: 10

No error messages logged.
I don't use FASTPATH binding.
We have a lot of memory and disk space.
I use syncpoints (commits and rollbacks).
Queue manager uses circular logging.

BUT
I open 6 threads (2 for sending and 4 for receiving) and sends only 20 small messages of 40-60 bytes each. Thats enough to stop the system.

I think the problem is caused by signal handling of MQS.
Imagine what happens when two threads issues MQPUT at the same time. The first thread sets signal handler and stores an old one. After that, the second thread does the same. When first finishes, it restores the original handler. And, when the second finishes it restores handler which actually is the handler that first thread has set recently. If you issues many calls in parallel and remember that on UNIX signal handlers are set per process and not per thread, you realize that some trouble waits for you.

Am I right? If yes, what can I do?

If not, what can I do?

Regards,
Mike
Back to top
View user's profile Send private message Send e-mail
kolban
PostPosted: Wed Nov 28, 2001 9:12 am    Post subject: Reply with quote

Grand Master

Joined: 22 May 2001
Posts: 1072
Location: Fort Worth, TX, USA

Do you use the same queue handle or connection handle across threads? MQ semantics states that the connection and queue handles must be used in the same thread as they were created.
Back to top
View user's profile Send private message
tony@work
PostPosted: Wed Nov 28, 2001 2:50 pm    Post subject: Reply with quote

Newbie

Joined: 12 Nov 2001
Posts: 9
Location: Australia

We have encountered this problem on several occassions on our Solaris Systems, running MQ V5.2. After weeks and weeks of problem determination, we have come up with the following solutions (which we are now in the process of rolling out).

1) - There were a multitule of *.FDC's in the /var/mqm/errors directory and also entries in the AMQERR0*.LOG files in the same dir.. Within these error files/logs, there were consistant references to 'shmat' and/or "too many open files". *Bingo* - This made us check, re-check and re-analyse our mem & sem settings. As a result, there were 1 or 2 *new* programs accessing MQ and MQSI resources that had not been budgetted for in the sysdef settings.

2) - Also arising from the "memory" lead, we discovered that IBM's CSD2 for v5.2 (Solaris) included a *fix* for a 'shmat' related problems (IY19317).

3) - Stepping outside of the MQ-Realm, we decided to probe into the overall performance of the Solaris box. This lead us to discover an anomalous spike in both CPU usage and memory consumption around the time of MQ-Failure. We are still investigating this one, but we suspect there may be a rogue application running (not cleaning up dead/bad threads), thus consuming large amounts of memory.

4) - We do not use this feature in any of our application design, but I have read (somewhere that there is a memory leak in the MQCONNX call, against v5.2.

All in all, we are trying to cover all bases in rectifying this problem.

When our QMGR hangs, we are left to manually kill off any procecsses and then clear any lingering mem/sem before restarting the QMGR.

I hope this gives you a few avenues to consider in solving your problem.
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 » IBM MQ API Support » Queue manager hangs
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.