Author |
Message
|
Lex |
Posted: Sun Aug 12, 2007 11:53 am Post subject: Messages not arriving in a queue |
|
|
 Acolyte
Joined: 14 Nov 2006 Posts: 73
|
Hello,
We have Websphere MQ 6.0 and Websphere message broker 6.0.
There is a problem in a queue, in which messages seems not to be written.
I made some test for it like using the amqsput and amqsget binaries in the folder /usr/mqm/samp/bin.
If the broker is stopped, using these commands give the desired results (we get the message that has been deposit in the queue).
But if the broker is started, the message can't be get and i never get it back. I must add that the Message flow associated with this queue is stopped and so doesn't get the message in it.
Then i deleted the queue and recreated it using the same script:
DEFINE QLOCAL(QUEUE_NAME) CLUSTER(CLUSTER.NAME) REPLACE DEFPSIST(YES)
But no results.
I don't know where my messages are going, and no other flow that the one i stopped has this queue as a MQInput Node.
Anyone has any idea or good procedure to follow in order to find what's going on in my installation? |
|
Back to top |
|
 |
fjb_saper |
Posted: Sun Aug 12, 2007 12:26 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Did you check that nobody else was getting the messages for you?
Like get inhibit the queue? If you then check whose logs are complaining you should have a fair idea about who is consuming them...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Lex |
Posted: Sun Aug 12, 2007 2:29 pm Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2006 Posts: 73
|
How can i read the logs for queues? |
|
Back to top |
|
 |
Vitor |
Posted: Sun Aug 12, 2007 3:19 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Lex wrote: |
How can i read the logs for queues? |
I think fjb_saper is meaning check the application logs. If you get inhibit the queue whichever application is reading your messages off (including the broker) will throw a specific error. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Lex |
Posted: Mon Aug 13, 2007 4:51 am Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2006 Posts: 73
|
So you are meaning application logs in the windows event watcher? |
|
Back to top |
|
 |
Vitor |
Posted: Mon Aug 13, 2007 5:01 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Lex wrote: |
So you are meaning application logs in the windows event watcher? |
I'm meaning wherever suspect applications log their errors. If it's a locally written application it could log it to a text file for all I know.
Broker will log to the application log, but you did seem quite confident it wasn't the broker. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
bbburson |
Posted: Mon Aug 13, 2007 6:02 am Post subject: |
|
|
Partisan
Joined: 06 Jan 2004 Posts: 378 Location: Nowhere near a queue manager
|
You can also use DIS QSTATUS(queuename) TYPE(HANDLE) ALL to see who has the queue open for input/output. If the messages are "disappearing" immediately after being put then it's very likely somebody is reading from the queue. |
|
Back to top |
|
 |
fjb_saper |
Posted: Mon Aug 13, 2007 11:22 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
bbburson wrote: |
You can also use DIS QSTATUS(queuename) TYPE(HANDLE) ALL to see who has the queue open for input/output. If the messages are "disappearing" immediately after being put then it's very likely somebody is reading from the queue. |
Not a sure fire indicator because if the app opens and closes the queue all the time it may never stay open long enough for it to register....  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Lex |
Posted: Fri Aug 24, 2007 1:27 pm Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2006 Posts: 73
|
Is there any applicatiopn that will allow me to see in real time who is using the queue? |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Aug 24, 2007 1:40 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Lex wrote: |
Is there any applicatiopn that will allow me to see in real time who is using the queue? |
Any decent monitoring application should be able to provide you that information. But remember you get what you're paying for...
As well this may simply be useless if the offending application never leaves the queue open long enough...
Just simply setting get inhibit on the queue and waiting for who is mentioning that MQ is not working again might get you the answer...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
Lex |
Posted: Mon Aug 27, 2007 6:01 am Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2006 Posts: 73
|
Hi,
I tried the command DISPLAY QSTATUS(Q_NAME) TYPE(HANDLE) ALL to see the input/output of the queue. There is 3 input, and i listed the PID the command returned in order to see what they correspond to.
Then i typed "ps -ef | grep <PID_number>" to see what are these process. What a surprise!!! The 3 process are DataFlowEngine Process, but 2 of them correspond to old execution group i have deleted a long time ago...
So i'm asking myself how come these 2 deleted execution groups can still have a process running on the server.
Anyone has any idea? |
|
Back to top |
|
 |
Vitor |
Posted: Mon Aug 27, 2007 8:12 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Lex wrote: |
So i'm asking myself how come these 2 deleted execution groups can still have a process running on the server.
|
Phantom execution groups!
It can (and has) happened. The search button will turn up discussion on the phenomenon. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|