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 IndexChallenge ForumChallenge Question - 09 / 2008

This forum is locked: you cannot post, reply to, or edit topics.This topic is locked: you cannot edit posts or make replies. Goto page Previous  1, 2, 3  Next
Challenge Question - 09 / 2008 View previous topic :: View next topic
Author Message
exerk
PostPosted: Thu Sep 25, 2008 2:55 pm Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

I fully agree with the above two posts, but we've (I'm sure) had to fettle MQ to address application shortcomings. An API exit may be viewed by the business as an unacceptable intrusion.
_________________
It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
Back to top
View user's profile Send private message
Jonathan Juler
PostPosted: Thu Sep 25, 2008 8:34 pm Post subject: Reply with quote

Newbie

Joined: 18 Nov 2007
Posts: 6

Go gently on me...

Re the first challenge - if the logs are on a disk that fails, what good is persistence anyway?
Back to top
View user's profile Send private message
Gaya3
PostPosted: Thu Sep 25, 2008 8:45 pm Post subject: Reply with quote

Jedi

Joined: 12 Sep 2006
Posts: 2493
Location: Boston, US

Jonathan Juler wrote:
Go gently on me...

Re the first challenge - if the logs are on a disk that fails, what good is persistence anyway?


Its entirely depends upon the business, as the question comes, they are using Persistence messages,

how to avoid the issues:

1)Alter mechanism
2)API EXITs
3)Programming Practice
_________________
Regards
Gayathri
-----------------------------------------------
Do Something Before you Die
Back to top
View user's profile Send private message
Mr Butcher
PostPosted: Thu Sep 25, 2008 10:09 pm Post subject: Reply with quote

Padawan

Joined: 23 May 2005
Posts: 1716

Quote:
Which copy member does JMS use?


don't know

well, something i did not took into account because thats not really my game.... but you are right, my solution is only possible in a specific environment and for specific programming languages........

for some applications i do have a channel message exit that checks the incoming and outgoing messages for persistence. of course this does not prevent the application to write NP messages, but - if detected in test environment - you are alerted before this program hits production.
we use this exit especially for customer connections, as we do not want our customers to send NP messages for specific applications. In case we detect NP messages, we inform the customer that he changes his configuration or programm.
Again, this is just a partial solution and works only in distributed environment, but in this special case (customer connection) we do not have any influence on the customers programming work......
_________________
Regards, Butcher
Back to top
View user's profile Send private message
Challenger
PostPosted: Fri Sep 26, 2008 2:19 am Post subject: Reply with quote

Centurion

Joined: 31 Mar 2008
Posts: 115

wow !

I am pleasntly surprised by the number of responses received. thanks.

2- for the Second Question: although AkankshA was heading towards the answer/fix, Atheek got the specifics right and is declared the winner.

A bit of searching/googling here and there, you would have found a reference to: http://www-1.ibm.com/support/docview.wss?uid=swg1IY74915, saying that on AIX only, performance will degrade if the API Exit is invoked frequently without this fix (users affected are WMQ 5.3.1 pre CSD12 and WMQ 6.0.0). The above description may seem to indicate that the Exit will only be invoked occasionally, but in reality it has to be invoked for every single PUT.

Lesson: especially when using “global” code (E.g. exits, wrapper code, …), ALWAYS carefully check all IBM bulletins for applicable maintenance.

1- for the First Question: Got the most hits and replies, certainly is more controversial with the Apps Development folks vs the Admin side. I'd love to read a few more Developer folks stating their side of the ' P vs NP good practices ' story . So, let's let the debate go on a bit more before I declare the winner of this one.

Challenger
Back to top
View user's profile Send private message
Michael Dag
PostPosted: Fri Sep 26, 2008 2:58 am Post subject: Reply with quote

Jedi Knight

Joined: 13 Jun 2002
Posts: 2602
Location: The Netherlands (Amsterdam)

Jonathan Juler wrote:
Go gently on me...

Re the first challenge - if the logs are on a disk that fails, what good is persistence anyway?

OK you asked for it!

'cause normally you have your queues and log data on seperate disks, loosing both at the same time is unlikely. With either of the 2 recovery is possible (provided you have used linear logging)
_________________
Michael



MQSystems Facebook page
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
exerk
PostPosted: Fri Sep 26, 2008 5:53 am Post subject: Reply with quote

Jedi Council

Joined: 02 Nov 2006
Posts: 6339

I have found all too often that WMQ is viewed as a piece of Cat 5 cable, and that code is cut and fixed long before an MQ Admin (or someone with the necessary expertise that could have made a difference) is involved.

Third Party applications, over which I have no control, so-called systems integrators who have no in-house knowledge of WMQ but get the job anyway, are always going to be a fact of life.

All Sys Admins, or SME's, can do is try to educate (bruce2359, you're too soft - I use a baseball bat with 6 inch nails sticking out of it, but just as an entre ) and mitigate the effects.
_________________
It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Fri Sep 26, 2008 6:22 am Post subject: Reply with quote

Poobah

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

Quote:
if the logs are on a disk that fails, what good is persistence anyway?

The typical behavior is: program A puts a message in a queue, and immediately (or pretty darn quickly) program B consumes it. Once consumed (comitted), for this message, there is no need for the logs or the queue files.

If your applications are such that program A puts a message in a queue, AND it stays in the queue for an extended time period (like for midnight processing); then the messages are at risk, and the logs are required should the qmgr fail.

Good application design (and I've seen very little of it) would require that program A keep track of request messages that it has sent, and the replies it has received. Program B should do the same: keep track of request messages it has received, and replies it has sent.

In other words, both apps should be sensitive to loss or duplication of messages, and behave acccordingly.

It's more likely that program A (or B) will duplicate its messages by bad design or coding; and less likely that MQ will duplicate or lose messages.
_________________
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
dgolding
PostPosted: Fri Sep 26, 2008 12:36 pm Post subject: Reply with quote

Yatiri

Joined: 16 May 2001
Posts: 668
Location: Switzerland

Bruce2359 wrote:
Quote:
The typical behavior is: program A puts a message in a queue, and immediately (or pretty darn quickly) program B consumes it. Once consumed (comitted), for this message, there is no need for the logs or the queue files.


Didn't I read somewhere that introduced in one the 5.x releases, that if Program A puts the message, and Program B is waiting on the same queue and immediately consumes it, that nothing gets logged, and the message never gets "hardened" by writing to disk (even if persistent), only exists for a nano-second in memory - as the net effect on the queue is zero? This was introduced as speed-up code, IIRC
Back to top
View user's profile Send private message Visit poster's website
atheek
PostPosted: Fri Sep 26, 2008 2:57 pm Post subject: Reply with quote

Partisan

Joined: 01 Jun 2006
Posts: 327
Location: Sydney

dgolding wrote:
if Program A puts the message, and Program B is waiting on the same queue and immediately consumes it


Should this be corrected to if Program A puts the message outside a syncpoint('')
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Sep 26, 2008 9:11 pm Post subject: Reply with quote

Grand High Poobah

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

In your original post you were looking at persistence setting for messages possibly in a JMS environment.

Well as always JMS is a little bit a different animal than the rest of it:

Here is the skinny of it.
a) the application sets the persistence -- this overrides everything
b) the application uses the setting as qdef.
This would normally go as defined on the queue. However in JMS you define the queue (Destination) in JNDI and can set the persistence there if the application uses as queue def. Mind you in the JNDI layer you can also set as queue def which then goes to the queue setting on the qmgr.

So nothing really changes you have just another level on indirections in between.

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
AkankshA
PostPosted: Mon Sep 29, 2008 11:40 pm Post subject: Reply with quote

Grand Master

Joined: 12 Jan 2006
Posts: 1494
Location: Singapore

atheek wrote:
Quote:

The Second one:
We’re running a heterogeneous network with queue managers at various versions (but all 5.3 or higher) on a variety of platforms (Solaris, Win 2003 Server, Win XP, AIX 5.2 and 5.3 and HP/UX). Gievn how most people on the forums seem to like Exits in general, after some decent testing on all platforms, we implemented an API Exit that writes an alert to the Windows Event Log / Unix syslog whenever the application writes a message to the “Application Error Queue” (this happens very rarely, at most a few times a day). Everything seems to be running fine, except… some AIX based users complain about slow response times. Any idea what could have caused this?


Any chance this is of a MQ product bug?

I could see this APAR for v 5.3 on AIX:
http://www-01.ibm.com/support/docview.wss?&apar=only&uid=swg1IY74915




Not just 5.3...
It was there in 6 also...
_________________
Cheers
Back to top
View user's profile Send private message Visit poster's website
Gaya3
PostPosted: Tue Sep 30, 2008 5:25 am Post subject: Reply with quote

Jedi

Joined: 12 Sep 2006
Posts: 2493
Location: Boston, US

1) The project should have a point of Contact to update/alter the mqm objects. and it must have Request for Change Details and it has to be approved before doing it.

2) Robust Monitoring Tools which helps to update the altered object(s) (accidently).

Hope the above two helps out
_________________
Regards
Gayathri
-----------------------------------------------
Do Something Before you Die
Back to top
View user's profile Send private message
Challenger
PostPosted: Tue Sep 30, 2008 9:15 am Post subject: Reply with quote

Centurion

Joined: 31 Mar 2008
Posts: 115

1st question brought in many good responses. Honorable mentions to Gaya3, Mr Butcher, exerk, PeterPotKay and fjb_saper amongst a few others. I have picked bruce2359 as my selected winner.

For the 2nd question, Atheek was earlier announced as the winner.

Thanks for participating in our September challenge. you are all s
Back to top
View user's profile Send private message
Tibor
PostPosted: Wed Oct 01, 2008 12:17 am Post subject: Reply with quote

Grand Master

Joined: 20 May 2001
Posts: 1033
Location: Hungary

I know the challenge is over, but one more comment: If a message broker exists in your environment, the persistency attribute can be controlled and any 'rebel application' would get a notification: "Penitence because of non-persistence"
Back to top
View user's profile Send private message
Display posts from previous:
This forum is locked: you cannot post, reply to, or edit topics.This topic is locked: you cannot edit posts or make replies. Goto page Previous  1, 2, 3  Next Page 2 of 3

MQSeries.net Forum IndexChallenge ForumChallenge Question - 09 / 2008
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.