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 » Triggering

Post new topic  Reply to topic Goto page 1, 2  Next
 Triggering « View previous topic :: View next topic » 
Author Message
byrner
PostPosted: Wed May 11, 2011 11:01 am    Post subject: Triggering Reply with quote

Newbie

Joined: 11 May 2011
Posts: 8

We have written an application that uses WMQ on an iSeries. We are using model queues with triggering defined on them. In general terms everything is working well however there is a sporadic problem which occurs a couple of times per day. The QName field in the Trigger Message is incorrect so the job submitted by the trigger monitor fails because the queue it is trying to read doesn't exist.

The application that is creating the dynamic queues is an ASP.NET web application.

Has anybody experienced anything like this ?
Back to top
View user's profile Send private message
shashivarungupta
PostPosted: Wed May 11, 2011 11:41 am    Post subject: Reply with quote

Grand Master

Joined: 24 Feb 2009
Posts: 1343
Location: Floating in space on a round rock.

Trigger monitor keeps an eye on initQ !
QName is the 'Name of triggered queue' !

What are the values of these two in your case ?


_________________
*Life will beat you down, you need to decide to fight back or leave it.
Back to top
View user's profile Send private message Send e-mail
byrner
PostPosted: Wed May 11, 2011 12:39 pm    Post subject: Reply with quote

Newbie

Joined: 11 May 2011
Posts: 8

Our initq is called GATEWAY_GLOBAL_INITQ and the trigger monitor processes this queue. Our trigger monitor is an RPGLE program that submits a job per trigger message. The submitted job processes the queue that caused the creation of the trigger i.e. the queue identified by the QName property of the trigger message. 99.9% percent of the time it works perfectly however on the odd occasion the QName property has a queue name that does not exist i.e. the queue was created days ago.
Back to top
View user's profile Send private message
byrner
PostPosted: Wed May 11, 2011 1:06 pm    Post subject: Reply with quote

Newbie

Joined: 11 May 2011
Posts: 8

forgot to mention the triggered queue is a temporary dynamic queue so the names are random as such e.g. GATEWAY_REQUEST_ME211_002342234
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed May 11, 2011 3:02 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

It seems an odd thing to use a temporary dynamic queue as a trigger queue.

Is there a particular reason you can't sit in a get-with-wait instead?

Is it a transactional concern?
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed May 11, 2011 8:21 pm    Post subject: Reply with quote

Grand High Poobah

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

Is there a reason for the separation through the dynamic queues?
Couldn't you process them as they come from a static queue? I suppose we are talking about the same transaction being performed for all the dynamic queues being created from the same model queue...

Why not have a single static queue instead of a model queue? Is there a security concern about message separation and access?

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Mr Butcher
PostPosted: Wed May 11, 2011 11:08 pm    Post subject: Reply with quote

Padawan

Joined: 23 May 2005
Posts: 1716

Quote:
however on the odd occasion the QName property has a queue name that does not exist i.e. the queue was created days ago


but when was the queue purged? how do the queues get purged? what will happen, if a queue was created and holds a message, but it is not processed? do you have any of these leftovers? will the queue stay? is there a cleanup process? will it somehow cause a re-trigger? is there maybe something that purges queue queue between the re-triggering and the processing?
_________________
Regards, Butcher
Back to top
View user's profile Send private message
byrner
PostPosted: Thu May 12, 2011 12:25 am    Post subject: Reply with quote

Newbie

Joined: 11 May 2011
Posts: 8

The multiple queues is for routing and concurrency purposes.

There are no transactional concerns. We are using WMQ for synchronous messaging.

The software is live now so redesigning isn't really an option. The problem has only started occurring recently. The operations team would stop and restart MQ on a nightly basis and at the weekend the box is IPL'd. On Monday the problem did not occur which makes me wonder if its something to do with the MQ restart process.
Back to top
View user's profile Send private message
shashivarungupta
PostPosted: Thu May 12, 2011 1:00 am    Post subject: Reply with quote

Grand Master

Joined: 24 Feb 2009
Posts: 1343
Location: Floating in space on a round rock.

byrner wrote:
The operations team would stop and restart MQ on a nightly basis
YOu mean, MQ Qmgr bounce every night ?
Or the trigger monitor ?
It is surprising to me that MQ Qmgr is being bounced every night. ( same would you do / suggest your operation team to do in Prod. servers ? )

If something is wrong and you don't have a solution for that ( as Mr. Butcher said ) then you need to check the trigger monitor process and triggered queue and msgs that are lying on it and the error which is responsible for not to process the msgs on queue.

By the way, you instruct to bounce the mq qmgr to flush off the temporary dynamic queues ?

You can look at the properties of temporary dynamic queue and its existence, may be these are overlooked and creating the issues for you. Like "Attempts to access a logically deleted queue (other than to close it) fail with reason code MQRC_Q_DELETED."

HERE


_________________
*Life will beat you down, you need to decide to fight back or leave it.
Back to top
View user's profile Send private message Send e-mail
byrner
PostPosted: Thu May 12, 2011 1:30 am    Post subject: Reply with quote

Newbie

Joined: 11 May 2011
Posts: 8

qmgr is bounced every night !

theres a whole bunch of nightly jobs to run so they essentially ring fence the box by taking down a lot of the subsystems.

the trigger monitor is configured to start with the queue manager although I think as the trigger monitor is getting in the way of MQ ending cleanly.

Can you elaborate on the flush dynamic queues ?
Back to top
View user's profile Send private message
shashivarungupta
PostPosted: Thu May 12, 2011 1:45 am    Post subject: Reply with quote

Grand Master

Joined: 24 Feb 2009
Posts: 1343
Location: Floating in space on a round rock.

Dynamic queues can be of two types : temporary and permanent dynamic queues.
Temporary Dynamic Queues are deleted when the queue manager is started. They are non-recoverable.

Also Check this

byrner wrote:
I think as the trigger monitor is getting in the way of MQ ending cleanly.

I don't think so.
Suppose you have runmqtrm on a qmgr and its initq, and its waiting for trigger msg, by the time you do end your qmgr (say) 'endmqm QMGR1' then before qmgr ends normally, it would end the trigger monitor !
_________________
*Life will beat you down, you need to decide to fight back or leave it.
Back to top
View user's profile Send private message Send e-mail
bruce2359
PostPosted: Thu May 12, 2011 5:34 am    Post subject: Reply with quote

Poobah

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

shashivarungupta wrote:
Dynamic queues can be of two types : temporary and permanent dynamic queues.
Temporary Dynamic Queues are deleted when the queue manager is started.

Temporary dynamic queues are also closed/deleted when the application MQCLOSE's them, and when the application MQDISConnects, and when the application ends.
_________________
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
shashivarungupta
PostPosted: Thu May 12, 2011 9:51 am    Post subject: Reply with quote

Grand Master

Joined: 24 Feb 2009
Posts: 1343
Location: Floating in space on a round rock.

bruce2359 wrote:
shashivarungupta wrote:
Dynamic queues can be of two types : temporary and permanent dynamic queues.
Temporary Dynamic Queues are deleted when the queue manager is started.

Temporary dynamic queues are also closed/deleted when the application MQCLOSE's them, and when the application MQDISConnects, and when the application ends.


(Link was there for reference, that's why)
_________________
*Life will beat you down, you need to decide to fight back or leave it.
Back to top
View user's profile Send private message Send e-mail
zpat
PostPosted: Thu May 12, 2011 9:57 am    Post subject: Reply with quote

Jedi Council

Joined: 19 May 2001
Posts: 5866
Location: UK

Set the QMGR TRGINT value so that it re-triggers if needed, as a precaution.
Back to top
View user's profile Send private message
byrner
PostPosted: Fri May 13, 2011 12:16 am    Post subject: Reply with quote

Newbie

Joined: 11 May 2011
Posts: 8

All the dynamic queues are temporary dynamic. However we have seen instances where a trigger message will contain a temporary dynamic queue name that was created almost a week ago. Bearing in mind we bounce the qmgr every evening and the asp.net application that creates the queues has its application pools recycled every morning at 6:30pm.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » General IBM MQ Support » Triggering
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.