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 IBM MQ Support » Using NPMCLASS(HIGH) for saving NP messages

Post new topic  Reply to topic Goto page Previous  1, 2
 Using NPMCLASS(HIGH) for saving NP messages « View previous topic :: View next topic » 
Author Message
bruce2359
PostPosted: Sun Feb 01, 2015 12:16 pm    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9472
Location: US: west coast, almost. Otherwise, enroute.

In one of my tests, I took a long lunch after putting messages, but before killing the qmgr. I presume that while I was away, buffer management software felt the moral imperative to write the contents of the buffesr to the file-system.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
Andyh
PostPosted: Sun Feb 01, 2015 1:09 pm    Post subject: Reply with quote

Master

Joined: 29 Jul 2010
Posts: 239

NP messages in queue buffers may not be written to disk, even in a lazy fashion, for a fairly indeterminate, possibly prolonged, time. After a lazy write is accepted by the kernel the data is in kernel buffers and killing the process that scheduled the write shouldn't prevent the write from eventually hitting disk. Hence in the case mentioned by Tim it seems most likely that the data never made it out of the queue manager owned queue buffers.

An OS level failure on the other hand would result in the potential loss of lazy writes.
Back to top
View user's profile Send private message
tczielke
PostPosted: Sun Feb 01, 2015 1:39 pm    Post subject: Reply with quote

Guardian

Joined: 08 Jul 2010
Posts: 941
Location: Illinois, USA

Andyh wrote:
NP messages in queue buffers may not be written to disk, even in a lazy fashion, for a fairly indeterminate, possibly prolonged, time. After a lazy write is accepted by the kernel the data is in kernel buffers and killing the process that scheduled the write shouldn't prevent the write from eventually hitting disk. Hence in the case mentioned by Tim it seems most likely that the data never made it out of the queue manager owned queue buffers.

An OS level failure on the other hand would result in the potential loss of lazy writes.


Good point. I did have a misconception there. Thanks for the clarification. So more than likely, I was stopping the MQ queue manager process before it could initiate the lazy write in the first place.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Sun Feb 01, 2015 1:50 pm    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9472
Location: US: west coast, almost. Otherwise, enroute.

... and by way of summary, I'm NOT specifically opposed to either non-persistent messages or NPMCLASS(HIGH), or both of 'em. The OP asked if they are recommended.

I'm averse to risk, especially to the needless kind of risk. Most of my clients are risk-averse, as well. The risk of loss, however slight, must be weighed against the cost of loss - in the usual cost-benefit analysis.

For the risk-averse among us, I'd agree that NPMCLASS(HIGH) is better than NPMCLASS(NORMAL). A well-designed app, one that is sensitive to loss or duplication of messages, is better than a fire-and-forget app. Similarly, persistent messages are probably a better choice for resiliency, until you start to discuss logs, log space, and logging delays.

In the triad of cost/quality/time, you/we only get to pick two of the three.

So, in answer to the OP: it depends.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
orman
PostPosted: Mon Feb 02, 2015 9:01 am    Post subject: Reply with quote

Apprentice

Joined: 08 Aug 2013
Posts: 40

Hi
Well, I realy enjoyed to see that the discussion was fruitful and most minds discussed.

bruce2359 - Thanks a lot for the summary, think it exhaustive and summarizes the the open issues in.
Of course, the decision to use the NPM feature depends on the situation and all kinds of other parameters.

Brainstorming helped me - and the decision firstly changing all the queues into a NPMCLASS(HIGH) in the integration environment and we shall see that there is no unnecessary problems - we will move around Production environment

Thank you all guys


Last edited by orman on Mon Feb 02, 2015 9:32 am; edited 1 time in total
Back to top
View user's profile Send private message
bruce2359
PostPosted: Mon Feb 02, 2015 9:08 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9472
Location: US: west coast, almost. Otherwise, enroute.

orman wrote:
Brainstorming helped me - and the decision my immediate proximity is changing all the lines into a NPMCLASS(HIGH) environment integration and we shall see that there is no unnecessary problems - move around Producation environment

Thank you all guys

I'd strongly recommend that you get the blessings of management and auditors BEFORE you make such a change. Make sure that you explain exactly what NPMCLASS(HIGH) offers, and more importantly, what it does not. I'd include a printed copy of IBM's documentation of NPMCLASS.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
tczielke
PostPosted: Mon Feb 02, 2015 9:19 am    Post subject: Reply with quote

Guardian

Joined: 08 Jul 2010
Posts: 941
Location: Illinois, USA

orman - Did you follow up on exerk's suggestion to check if the application is specifying default persistence, and then just change the DEFPSIST on the queue to YES? strmqtrc tracing or the Application Activity Trace (at 7.1 and higher) will tell you what the application is setting for persistence.
Back to top
View user's profile Send private message
orman
PostPosted: Mon Feb 02, 2015 9:39 am    Post subject: Reply with quote

Apprentice

Joined: 08 Aug 2013
Posts: 40

bruce2359 wrote:

I'd strongly recommend that you get the blessings of management and auditors BEFORE you make such a change. Make sure that you explain exactly what NPMCLASS(HIGH) offers, and more importantly, what it does not. I'd include a printed copy of IBM's documentation of NPMCLASS.


Thanks for advises, I will do that .

tczielke wrote:
orman - Did you follow up on exerk's suggestion to check if the application is specifying default persistence, and then just change the DEFPSIST on the queue to YES? strmqtrc tracing or the Application Activity Trace (at 7.1 and higher) will tell you what the application is setting for persistence.


Yea, I will do it
But as I know today the MQ messages persistence configure is not known and that is why important message set to non-persistent

The next step is to change the DEFPSIST on the queue to YES as it was written here

Thanks again,
Or
Back to top
View user's profile Send private message
gbaddeley
PostPosted: Mon Feb 02, 2015 4:34 pm    Post subject: Reply with quote

Jedi Knight

Joined: 25 Mar 2003
Posts: 2538
Location: Melbourne, Australia

orman wrote:
The next step is to change the DEFPSIST on the queue to YES as it was written here

This is a dynamic change. If the message producing app using the default MDMD Peristence = PERSISTENCE_AS_Q_DEF, the next message that it puts should be persistent.

My take on NPMCLASS(HIGH) is that it is just another Quality Of Service for MQ messages. Application designers should fully understand MQ QoS and use it appropriately.

The bottom line is that if you want MQ provide assured delivery, use Persistent messages.
_________________
Glenn
Back to top
View user's profile Send private message
bruce2359
PostPosted: Mon Feb 02, 2015 5:21 pm    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9472
Location: US: west coast, almost. Otherwise, enroute.

Another thing to consider: it is the first object the producing application mqopens that sets persistence_as_q_def. Does the app open a QRemote def? A QAlias? In these cases it is NOT the resolved object that sets persistence.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
orman
PostPosted: Tue Feb 03, 2015 1:12 pm    Post subject: Reply with quote

Apprentice

Joined: 08 Aug 2013
Posts: 40

bruce2359 wrote:
Another thing to consider: it is the first object the producing application mqopens that sets persistence_as_q_def. Does the app open a QRemote def? A QAlias? In these cases it is NOT the resolved object that sets persistence.


I think the most of them use to put the message to a remote queue
Back to top
View user's profile Send private message
bruce2359
PostPosted: Tue Feb 03, 2015 1:19 pm    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9472
Location: US: west coast, almost. Otherwise, enroute.

orman wrote:
bruce2359 wrote:
Another thing to consider: it is the first object the producing application mqopens that sets persistence_as_q_def. Does the app open a QRemote def? A QAlias? In these cases it is NOT the resolved object that sets persistence.


I think the most of them use to put the message to a remote queue

Then the QRemote definition(s) that the app opens should be modified to DEFPSIST(YES).
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » General IBM MQ Support » Using NPMCLASS(HIGH) for saving NP 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.