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 Java / JMS » backup queues

Post new topic  Reply to topic
 backup queues « View previous topic :: View next topic » 
Author Message
gavon stone
PostPosted: Thu Apr 28, 2005 9:11 am    Post subject: backup queues Reply with quote

Novice

Joined: 09 Mar 2005
Posts: 16

Is there a way to create a backup queue with Websphere MQ so that when the main queue is full data is automatically sent to the backup. Also when the main queue is brought back to a certain safe depth then the data is placed onto the main queue with all this being transparent to the user or application program.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Apr 28, 2005 9:32 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Yes.

By misusing the dead letter queue handler and writing code.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
bower5932
PostPosted: Thu Apr 28, 2005 10:01 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Aug 2001
Posts: 3023
Location: Dallas, TX, USA

Won't the dead letter queue trick only work for remote messages? If he is putting locally, he should get back the 2053 (queue full) error.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger
PeterPotkay
PostPosted: Thu Apr 28, 2005 10:55 am    Post subject: Re: backup queues Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

gavon stone wrote:
Is there a way to create a backup queue with Websphere MQ so that when the main queue is full data is automatically sent to the backup.


Where is the backup q?

Where are the messages arrivuing from?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Thu Apr 28, 2005 11:14 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

bower5932 wrote:
Won't the dead letter queue trick only work for remote messages? If he is putting locally, he should get back the 2053 (queue full) error.


Yeah. That part is covered under "writing code"...

An API exit will handle local queue puts.

But generally, this whole thing is far more trouble than it's worth, and far more effort than it's worth, when the flip side is getting developers to handle their errors properly and managing max queue depths in alignment with business requirements.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Apr 28, 2005 11:25 am    Post subject: Re: backup queues Reply with quote

Grand High Poobah

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

gavon stone wrote:
Is there a way to create a backup queue with Websphere MQ so that when the main queue is full data is automatically sent to the backup. Also when the main queue is brought back to a certain safe depth then the data is placed onto the main queue with all this being transparent to the user or application program.


You could but why would you want to ?

Make the queue big enough in the first place and handle the rest as exception situations.

Or load balance in a cluster... or multithread your receiving app....
Enjoy
Back to top
View user's profile Send private message Send e-mail
malammik
PostPosted: Thu Apr 28, 2005 3:33 pm    Post subject: Reply with quote

Partisan

Joined: 27 Jan 2005
Posts: 397
Location: Philadelphia, PA

Say ur max depth is 10. Write a trigger with a triggering condition of depth 10. Have the trigger write the data off to another queue manager or another filesystem and send u an alert.
_________________
Mikhail Malamud
http://www.netflexity.com
http://groups.google.com/group/qflex
Back to top
View user's profile Send private message Visit poster's website AIM Address
jefflowrey
PostPosted: Thu Apr 28, 2005 3:36 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

malammik wrote:
Say ur max depth is 10. Write a trigger with a triggering condition of depth 10. Have the trigger write the data off to another queue manager or another filesystem and send u an alert.


I would recommend setting your trigger depth at 10, and your max depth at ... 20. Triggering takes some time, and processing takes some time... and the goal here is to prevent the sending application from getting an error when the queue is full.

But I wouldn't recommend doing this at all, so it's really a moot point.

The sending application should shut down when it gets a queue full error. This is very much a sign that something horrible has gone wrong with the entire universe and the application should gracefully quit, rather than spamming the ether with emails and more messages.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
malammik
PostPosted: Thu Apr 28, 2005 3:51 pm    Post subject: Reply with quote

Partisan

Joined: 27 Jan 2005
Posts: 397
Location: Philadelphia, PA

I disagree because sending application should not depend on the status of the receiving application - hence asynchronous. Infrastructure must be flexible enough to handle this kind of situation. Here is the real life example.

A retailer Q processes customer orders from call centers and web site at the rate of about 2500 per minute on special night. Should the order entry application be denied access to queue because it is full, it will have enough storage for about 1 hours it will have more storage for another hour but at a very degraded performance.

Now, how the infrastructure handles this is a totally different question. Writing a trigger that empties a queue to an auxilary storage is a hack but it might work for some. Setting ur max queue depths to very high values that will never be reached is safe but sloppy and prevents one from calculating precise amount of storage needed based on:
business requrements
max message lenght for that app
traffic volume, etc.

My best solution is do everything u can not ever be in the situation like that.
_________________
Mikhail Malamud
http://www.netflexity.com
http://groups.google.com/group/qflex
Back to top
View user's profile Send private message Visit poster's website AIM Address
jefflowrey
PostPosted: Thu Apr 28, 2005 4:40 pm    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Malamik -
I agree.

The sending application SHOULD NOT care if the receiving application can't process things as fast as the sending application.

That's why it should shut down if it's gets a queue full error. As I said, it means that, for the sending application, the entire infrastructure has gone ... up. Therefore, it should quit until it can be instructed that E now = MC^2 again.

In the case of your retail situation... this is what transmit queues and channels are for. If the actual queue on the other side fills up, then new messages will go to the DLQ. If the xmit queue fills up... then the MQ Admins aren't getting notified properly that the channel is down, and the universe is therefore broken.

And if a POS system is acting as a direct client to your only Queue Manager - then you need to loosen the purse strings just a <i>wee</i> bit and buy another QM.

Pathological business decisions are no substitute for good architecture.
_________________
I am *not* the model of the modern major general.
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 Java / JMS » backup queues
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.