Author |
Message
|
guest468 |
Posted: Fri Feb 22, 2008 7:25 am Post subject: Queue status |
|
|
Centurion
Joined: 30 May 2006 Posts: 146 Location: NY
|
Is there anyway to know if an application(WAS) has picked up a message from a queue and processing it ? (but not commited to queue)
Actually sometimes when the message listner is started I don't see any decrease in the message count. I understand it indicates something wrong in WAS side, but wondering if i can check from queue statistics for any non-commited messages.
Thanks
 |
|
Back to top |
|
 |
zpat |
Posted: Sun Feb 24, 2008 11:40 pm Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
You can see if a queue has any uncommitted messages on it. |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Feb 25, 2008 3:12 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
zpat wrote: |
You can see if a queue has any uncommitted messages on it. |
The operative word here is ANY. The fact that the queue has uncommitted messages does not necessarily mean that your app is the owner of those, unless your app is the only one connected (no channel connection, no put operations under syncpoint etc...)
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
guest468 |
Posted: Mon Feb 25, 2008 7:43 am Post subject: |
|
|
Centurion
Joined: 30 May 2006 Posts: 146 Location: NY
|
Thanks guys,
Regarding identify of the app which picked up the queue, I don't see any problem because the concerned design is completely built on message affinity . And only one jvm can read from any particular queue.
But i am not sure how to know if a message is uncommited or not?
is it using dspmqtrn or can i get it from dis qs?
I see the following in qs once in a while though not sure if that means uncommited messages.
URID(XA_FORMATID[WASD] XA_GTRID[00000118513EFB4300000001001292FAFAED50EEDC53A838B5E06BB851CE30746F96848E] XA_BQUAL[00000118513EFB4300000001001292FAFAED50EEDC53A838B5E06BB851CE30746F96848E000000010000000000000000000000000001])
URTYPE(XA)
Also, is there any doc/url which has more details about these fields?
Thanks |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Feb 25, 2008 7:46 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
guest468 wrote: |
I don't see any problem because the concerned design is completely built on message affinity |
That's a huge problem in and of itself.
It's a very very poor idea to design for message affinity. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Feb 25, 2008 3:19 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
guest468 wrote: |
Thanks guys,
Regarding identify of the app which picked up the queue, I don't see any problem because the concerned design is completely built on message affinity . |
As mentioned before this is a bad bad thing and does not scale well.
guest468 wrote: |
And only one jvm can read from any particular queue. |
And who told you that fable?
Unless your queue is opened in exclusive mode and stays open as long as the JVM is running, this is just not true...
guest468 wrote: |
But i am not sure how to know if a message is uncommited or not?
is it using dspmqtrn or can i get it from dis qs?
I see the following in qs once in a while though not sure if that means uncommited messages.
URID(XA_FORMATID[WASD] XA_GTRID[00000118513EFB4300000001001292FAFAED50EEDC53A838B5E06BB851CE30746F96848E] XA_BQUAL[00000118513EFB4300000001001292FAFAED50EEDC53A838B5E06BB851CE30746F96848E000000010000000000000000000000000001])
URTYPE(XA)
Also, is there any doc/url which has more details about these fields?
Thanks |
This points to an XA transaction controlled by an external XA compliant transaction manager... (J2EE jtm?)
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
guest468 |
Posted: Tue Feb 26, 2008 8:34 am Post subject: |
|
|
Centurion
Joined: 30 May 2006 Posts: 146 Location: NY
|
I totally agree that message affinity should be avoided but there is no other way to cover our business requirement (not that i designed it; it has been there for ages now . Actualy these are fire-and-forget BATCH messages coming from thousands of Queue Managers accross the world. And the business requirement is to process messages coming from each QMGR in the order it comes(as in this particular case, each message needs the latest update of older messages came from the same QMGR). Messages are processed by WMQI to rout them to Application Servers. I could not come up with any plan to eliminate the message affinity. I would appreciate if you guys have any solution.
And regarding queue per JVM thing, what we are doing for scaling is mod of incoming QMGR number to several queues. And separate range of queues being assigned to separate JVMs. So if we speak about any queue it is configured to be read by only one JVM with one thread per queue. This is the ground requirement to handle the message affinity. |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Feb 26, 2008 9:36 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
guest468 wrote: |
I totally agree that message affinity should be avoided but there is no other way to cover our business requirement (not that i designed it; it has been there for ages now . Actualy these are fire-and-forget BATCH messages coming from thousands of Queue Managers accross the world. And the business requirement is to process messages coming from each QMGR in the order it comes(as in this particular case, each message needs the latest update of older messages came from the same QMGR). Messages are processed by WMQI to rout them to Application Servers. I could not come up with any plan to eliminate the message affinity. I would appreciate if you guys have any solution. |
Without any information on the content of the messages there is no way of getting a better handle on the message affinity.
Apparently you have already handled the separation as per origin for parallel processing of multiple origins... as the message affinity seems to be by producer and not across multiple producers...
guest468 wrote: |
And regarding queue per JVM thing, what we are doing for scaling is mod of incoming QMGR number to several queues. And separate range of queues being assigned to separate JVMs. So if we speak about any queue it is configured to be read by only one JVM with one thread per queue. This is the ground requirement to handle the message affinity. |
Well this is a complete different statement from the one you gave before...
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
guest468 |
Posted: Tue Feb 26, 2008 10:03 am Post subject: |
|
|
Centurion
Joined: 30 May 2006 Posts: 146 Location: NY
|
Thanks fjp_saper for the info.
And yes right, my earlier posts were definitely not clear enough.
I was stressing more on ways to know if a queue has any uncommited mesages. Also would appreciate if I can somehow get the message contents of that uncommited message?
Thanks. |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Feb 26, 2008 2:04 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
read up on the admin manuals. Especially dspmqtrn and rsvmqtrn?
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|