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 » Automatically suspending broker activity.

Post new topic  Reply to topic
 Automatically suspending broker activity. « View previous topic :: View next topic » 
Author Message
jgooch
PostPosted: Tue Jan 13, 2004 2:12 am    Post subject: Automatically suspending broker activity. Reply with quote

Acolyte

Joined: 29 May 2002
Posts: 63
Location: UK

Hi,

We had a problem recently where our network went down. When it came back MQ delivered all the in-flight messages to WMQI. However, the network failure had killed the brokers' ODBC connection to our key map and message management database. Hence thousands of messages ended up in failure queues and it took a lot of effort to recover them all.

Is it possible to suspend broker activity automatically when the first message detects such a problem? This will give our support team the necessary time to bounce the broker and re-establish the connection.

How do other people manage this issue? Should we implement a "heartbeat" flow that can then trigger the appropriate scripts? Is there a way to force the broker to re-establish its connection without having to restart it?

Obviously, we could use the MQGetDisable support pack but we have 300+ flows and cannot afford the retesting effort involved in changing them all.

We're using WMQIv2.1 CSD04, MQv5.3 on Solaris v5.8.

Thanks,

J.
Back to top
View user's profile Send private message
Nick Lethbridge
PostPosted: Tue Jan 13, 2004 5:40 am    Post subject: Reply with quote

Voyager

Joined: 13 Aug 2001
Posts: 88
Location: Santander, UK

If you use a third party monitoring product (e.g. QPasa, BMC Patrol, Candle) you could probably configure an application or script to be run if (say) 5 messages or more are written to your failure queue.

You could then create a script to telnet to the broker server, logon as the WMQI user and issue a mqsistop against the broker ?

Regards,
Nick.
Back to top
View user's profile Send private message Send e-mail
fschofer
PostPosted: Tue Jan 13, 2004 6:40 am    Post subject: Reply with quote

Knight

Joined: 02 Jul 2001
Posts: 524
Location: Mainz, Germany

Hi,
with the Candle Monitoring Node you can create "events" when a message goes through the monitoring node.
You can use these events to stop a flow

I use this in my failure handling to stop flows when a critical error occurs.
But the message flow stop will take some time so that some messages still will be put in your error queue.

I also had once some problems with ODBC database connections,
but usually the broker reconnected after the first failed database access.
So i catch database errors and throw an exception to cause a flow rollback and give it a second try.
You can limit the number of retries by using the MQ backout mechanism and setting the backout counter.
Back to top
View user's profile Send private message Send e-mail
kirani
PostPosted: Tue Jan 13, 2004 10:09 am    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA

This is more of architecture problem than WMQI. The broker will cache the DB connection when it first tries to connect to an external DB. For all subsequent messages, it will reuse the same connection. During the processing of the message if it finds a dead connection, the broker will throw an exception and it will drop the dead connection from the cache. It's up to your message flow to decide what to do with the failed message. Next time, when it tries to access the same DB, it will create a new connection.

In our message flows we are handling this error by setting the backout Threshold property to 1 on the input queue. This will allow our messages to process 2 times in case of failure conditions, next time the message is processed successfully in this scenario.

You can design your error handler to disable the input queue, which will eventually stop your message flow processing. We are using MQDisable plug-in node in our error handler sub-flows to do this job.
_________________
Kiran


IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries

Back to top
View user's profile Send private message Visit poster's website
RatherBeGolfing
PostPosted: Tue Jan 13, 2004 10:39 am    Post subject: Reply with quote

Centurion

Joined: 12 Nov 2002
Posts: 118
Location: Syracuse, NY, USA

Could you also plumb another MQOutput node on the fail terminal and send a message to a triggered Q which would launch a .bat file. The .bat file could contain a runmqsc command to disable the GET attribute of 1 or more Qs, effectively stopping the flow(s) from processing all of the messages which are going to fail due to the ODBC problem. You may have to use the FORCE option.

You could also set up your monitoring software to watch the same triggered Q for a depth of 1. Or, if you don't run monitoring software, you could invoke your own sendmail routines to page oncall people, etc.
_________________
Cheers,
Larry
MQ Certifiable
Back to top
View user's profile Send private message
jgooch
PostPosted: Wed Jan 14, 2004 1:11 am    Post subject: Reply with quote

Acolyte

Joined: 29 May 2002
Posts: 63
Location: UK

Thanks, guys. Good replies so far!

I was 97.3% certain ( ) that QPasa, Patrol or Omegamon could do this. I've recommended acquiring such a tool several times now, but they go running for the hills when you mention the likely cost. In the meantime, they want real-time pro-actively monitored and recoverable systems...

I'll try the back-out threshold change and let you know how I get on. To be honest, I'm not sure I've ever seen the broker re-establish a broken ODBC connection itself. Methinks I'll do some tests with our DBAs to be sure.

J.
Back to top
View user's profile Send private message
kirani
PostPosted: Wed Jan 14, 2004 11:51 pm    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA

I personally didn't see any value into Candle WMQI monitoring product. As compared to the product cost it's not doing very much One can write couple of system programs to achieve similar functionality. We have custom written programs for monitoring WMQI and MQ components in our environment.
_________________
Kiran


IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries

Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Automatically suspending broker activity.
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.