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 » General Discussion » Persistent messages

Post new topic  Reply to topic Goto page 1, 2  Next
 Persistent messages « View previous topic :: View next topic » 
Author Message
mq_techie
PostPosted: Fri Aug 25, 2006 5:51 am    Post subject: Persistent messages Reply with quote

Newbie

Joined: 14 Aug 2006
Posts: 4
Location: MA

hi,

We have a big discussion going on here on whether persistent messaging should be handled at the application level or it should be configured at the MQ queue level. When IBM did a MQ Architecture review, they recommended that application developers should write persistent messaging in to the queue and we should not configure this at the queue level to make the messages persistent.

Any thoughts from the group on this...

Thanks!
Back to top
View user's profile Send private message Yahoo Messenger
jefflowrey
PostPosted: Fri Aug 25, 2006 5:57 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Persistence only applies to individual messages.

Persistence should be a business level decision - how important is the message, what impact does it have if the message is lost, how fast does the message need to move through the network, how long is the message expected to stay on the system, etc.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
wschutz
PostPosted: Fri Aug 25, 2006 6:00 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

This is an eternal debate... who do you trust more? The application developer's to properly set the persistence on the messages, or the MQ admins to properly set the default persistence on the queue (in which case, you still need to trust to app developers to use PER_AS_Q_DEF...)....
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
jefflowrey
PostPosted: Fri Aug 25, 2006 6:07 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

wschutz wrote:
This is an eternal debate... who do you trust more?

It's only a debate if you view it as a technical issue.

If you view it as a business issue, then there's usually a pretty clear answer.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
kevinf2349
PostPosted: Fri Aug 25, 2006 8:10 am    Post subject: Reply with quote

Grand Master

Joined: 28 Feb 2003
Posts: 1311
Location: USA

Quote:
If you view it as a business issue, then there's usually a pretty clear answer.


I couldn't agree more, however, if you ask the programmer their messages are always the most important and cannot possibly be non-persistent

Getting them to admit their messages are not business critcial is like getting them to admit that they are not working on important work isn't it?
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Fri Aug 25, 2006 8:19 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

I guess I'm just saying that one should neither ask the programmer nor the admin - but the business stakeholder.

I can see a programmer insisting that messages be non-persistent, because they must have good performance - even if the program is only producing one message a minute.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
wschutz
PostPosted: Fri Aug 25, 2006 8:21 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

Jeff & Kevin...so which do you favor? Having the programmers set persistence or using the queue default (and then having the programmer's set AS_QDEF)??

No, the question isn't: should the messages be persistent? The question is: who implements the decision?
_________________
-wayne


Last edited by wschutz on Fri Aug 25, 2006 8:22 am; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail AIM Address
jefflowrey
PostPosted: Fri Aug 25, 2006 8:22 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

Explicit is always better than implicit.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
bbburson
PostPosted: Fri Aug 25, 2006 8:24 am    Post subject: Reply with quote

Partisan

Joined: 06 Jan 2004
Posts: 378
Location: Nowhere near a queue manager

I'm not Jeff or Kevin, but I'll weigh in with my 2 cents worth. Our policy from day one has been that the queue default persistence is set to NO. It is the application's responsibility to determine and set the appropriate persistence for its messages. (And here I use "application" to include the business requirements/designers/programmers as a whole).
Back to top
View user's profile Send private message
kevinf2349
PostPosted: Fri Aug 25, 2006 8:35 am    Post subject: Reply with quote

Grand Master

Joined: 28 Feb 2003
Posts: 1311
Location: USA

The application should always make the decision IMHO.

If the MQ admin tries to make it then they have to have the business savy to know what choice to really make. Usually they don't have that knowledge.

On the flip side, the business needs to at least have an understanding of what the pros and cons are for both persistent and non-persistent. They are getting there at this shop but they still have some way to go.
Back to top
View user's profile Send private message
LuisFer
PostPosted: Fri Aug 25, 2006 11:50 am    Post subject: Reply with quote

Partisan

Joined: 17 Aug 2002
Posts: 302

In my installation the responsability is for Bussines aplication in persistence & Convertion. We defined the q's with no persistence and channels with no convert in all cases.
Back to top
View user's profile Send private message
tleichen
PostPosted: Mon Aug 28, 2006 8:04 am    Post subject: Reply with quote

Yatiri

Joined: 11 Apr 2005
Posts: 663
Location: Center of the USA

We've had both types of applications, persistent and non-persistent messaging. It really depends on who all is doing what. If the admin group has control over the applications, as well, then there is much advantage to controlling this at the admin level. We encapsulated the API, such that the applications would always wind up with AS_QDEF. This simplified things immensely and took those decisions out of the (inexperienced with MQSeries) programmers. Just my two cents.
_________________
IBM Certified MQSeries Specialist
IBM Certified MQSeries Developer
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Wed Aug 30, 2006 3:13 pm    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7722

bbburson wrote:
I'm not Jeff or Kevin, but I'll weigh in with my 2 cents worth. Our policy from day one has been that the queue default persistence is set to NO. It is the application's responsibility to determine and set the appropriate persistence for its messages. (And here I use "application" to include the business requirements/designers/programmers as a whole).

I agree.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
mq_techie
PostPosted: Wed Aug 30, 2006 3:34 pm    Post subject: Reply with quote

Newbie

Joined: 14 Aug 2006
Posts: 4
Location: MA

Finally, I was able to convince our application programmers to take care of message persistence at the code level!

Thanks to everyone who responded...
Back to top
View user's profile Send private message Yahoo Messenger
bruce2359
PostPosted: Thu Sep 14, 2006 5:42 am    Post subject: Reply with quote

Guest




Missing from this discussion is that the programmer must set the persistence field in the message descriptor at MQPUT time to ONE of the three possible values, namely: MQPER_PERSISTENT, or MQPER_NOT_PERSISTENT, or MQPER_PERSISTENCE_AS_Q_DEF.

The so-called default attribute of the queue DEFPSIST is not a default! Rather, this attribute will set the persistence value of the message to persistent or non-persistent ONLY if the programmer specifies MQPER_PERSISTENCE_AS_Q_DEF at MQPUT time.

As a general rule, programmers should not make decisions and write code about hardware or performance. The marginal improvement in throughput with non-persistent messages is vastly outweighed by the (potential) loss of a non-persistent message that contains a billion dollar funds tranfer transaction.
Back to top
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » General Discussion » Persistent messages
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.