|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Workflow can't put messages on Cluster Queue |
« View previous topic :: View next topic » |
Author |
Message
|
texan |
Posted: Tue Apr 13, 2004 1:56 am Post subject: Workflow can't put messages on Cluster Queue |
|
|
Acolyte
Joined: 25 Feb 2004 Posts: 74
|
We have defined a UPESSERVER in Workflow which can put messages on to a remote queue definition. When I made workflow QM FMCQM as part of my cluster, and queue as Cluster queue Work flow is n't able to put messages on this cluster queue. Does anyone know why?
I can see the following error messages in the fmcsys.log and fmcerr.log.
FMCSYS.log
========
4/13/2004 5:37:27 AM FMC10000I System startup complete. System FMCSYS in system group FMCGRP is now running.
4/13/2004 5:39:07 AM FMC31050E An error has occurred which has terminated processing.
4/13/2004 5:39:07 AM FmcFMLException, MQReturnCode=2, MQReasonCode=2085, MQObjectName=TEST.QUEUE4/13/2004 5:39:07 AM FMC12240E Execution server instance(s) stopped with an error.
4/13/2004 5:39:08 AM FMC31050E An error has occurred which has terminated processing.
4/13/2004 5:39:08 AM FmcFMLException, MQReturnCode=2, MQReasonCode=2085, MQObjectName=TEST.QUEUE4/13/2004 5:39:08 AM FMC12240E Execution server instance(s) stopped with an error.
4/13/2004 5:39:09 AM FMC10500I Execution server instance started.
4/13/2004 5:39:09 AM FMC31050E An error has occurred which has terminated processing.
4/13/2004 5:39:09 AM FmcFMLException, MQReturnCode=2, MQReasonCode=2085, MQObjectName=TEST.QUEUE4/13/2004 5:39:09 AM FMC12240E Execution server instance(s) stopped with an error.
4/13/2004 5:39:10 AM FMC10500I Execution server instance started.
4/13/2004 5:39:10 AM FMC31050E An error has occurred which has terminated processing.
4/13/2004 5:39:10 AM FmcFMLException, MQReturnCode=2, MQReasonCode=2085, MQObjectName=TEST.QUEUE4/13/2004 5:39:10 AM FMC12240E Execution server instance(s) stopped with an error.
4/13/2004 5:39:11 AM FMC10500I Execution server instance started.
4/13/2004 5:39:11 AM FMC31050E An error has occurred which has terminated processing.
4/13/2004 5:39:11 AM FmcFMLException, MQReturnCode=2, MQReasonCode=2085, MQObjectName=TEST.QUEUE4/13/2004 5:39:11 AM FMC12240E Execution server instance(s) stopped with an error.
4/13/2004 5:39:11 AM FMC10500I Execution server instance started.
4/13/2004 5:39:11 AM FMC31065E The retry limit for message SDDS has exceeded. The message is stored in the execution server hold queue for later processing.
4/13/2004 5:39:12 AM FMC10500I Execution server instance started.
FMCERR LOG
=============
WebSphere MQ Workflow 3.4 Error Report
Report creation = 4/13/2004 5:39:07 AM
Related message = FMC31050E An error has occurred which has terminated processing.
Error location = File=e:\v340\src\fmccdvmq.cxx, Line=1525, Function=FmcMQDevice::OpenQueue
Error data = FmcFMLException, MQReturnCode=2, MQReasonCode=2085, MQObjectName=TEST.QUEUE
WebSphere MQ Workflow 3.4 Error Report
Report creation = 4/13/2004 5:39:08 AM
Related message = FMC31050E An error has occurred which has terminated processing.
Error location = File=e:\v340\src\fmccdvmq.cxx, Line=1525, Function=FmcMQDevice::OpenQueue
Error data = FmcFMLException, MQReturnCode=2, MQReasonCode=2085, MQObjectName=TEST.QUEUE
WebSphere MQ Workflow 3.4 Error Report
Report creation = 4/13/2004 5:39:09 AM
Related message = FMC31050E An error has occurred which has terminated processing.
Error location = File=e:\v340\src\fmccdvmq.cxx, Line=1525, Function=FmcMQDevice::OpenQueue
Error data = FmcFMLException, MQReturnCode=2, MQReasonCode=2085, MQObjectName=TEST.QUEUE
WebSphere MQ Workflow 3.4 Error Report
Report creation = 4/13/2004 5:39:10 AM
Related message = FMC31050E An error has occurred which has terminated processing.
Error location = File=e:\v340\src\fmccdvmq.cxx, Line=1525, Function=FmcMQDevice::OpenQueue
Error data = FmcFMLException, MQReturnCode=2, MQReasonCode=2085, MQObjectName=TEST.QUEUE
WebSphere MQ Workflow 3.4 Error Report
Report creation = 4/13/2004 5:39:11 AM
Related message = FMC31050E An error has occurred which has terminated processing.
Error location = File=e:\v340\src\fmccdvmq.cxx, Line=1525, Function=FmcMQDevice::OpenQueue
Error data = FmcFMLException, MQReturnCode=2, MQReasonCode=2085, MQObjectName=TEST.QUEUE
Thanks in advance for all your help. |
|
Back to top |
|
 |
clindsey |
Posted: Tue Apr 13, 2004 6:25 am Post subject: |
|
|
Knight
Joined: 12 Jul 2002 Posts: 586 Location: Dallas, Tx
|
I would guess that when you defined the UPES, you gave it a queue name and a queue manager name, which seems like the reasonable thing to do.
The problem with this is that Workflow writes the queue manager name in the message descriptor which binds the MQPUT to a specific queue manager and disallows any clustering. For future reference, the queue manager name is not required. Even if it is a non-clustered remote queue, you can create a remote queue definition on the local qmgr rather than plugging in a queue manager name. Then making the switch to a cluster queue is easy.
This is not a simple problem to recover from. You cannot remove the queue manager name using simple FDL changes. Sending the FDL back through with a blank name doesn't do anything and there is no "delete" FDL command. You have to find the queue manager entry in the database and do and update the tables directly with SQL. I have done this in the past but I truly do not recall the table names involved. Maybe someone else on the board can help with that. Otherwise, I think you have to completely remove the system group and recreate it.
Hope this helps,
Charlie |
|
Back to top |
|
 |
Ratan |
Posted: Tue Apr 13, 2004 6:42 am Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
I agree with Charlie that you have imported the FDL file with wrong QM name.
But I am not sure about going into DB and manually deleting the QM name. You can just import the FDL file without the Queue Manager object. That works. _________________ -Ratan |
|
Back to top |
|
 |
texan |
Posted: Tue Apr 13, 2004 7:29 am Post subject: |
|
|
Acolyte
Joined: 25 Feb 2004 Posts: 74
|
Thanks a lot for quick reply. I tried to delete Queue Manager entry FMCQM from FDL and imported into runtime. But it is still giving me the same problem. The only option I have is manually deleting from DB.
But I got a question. When we import a fdl with queue and queue manager name it writes into some tables in db. When we re-imported again why it won't overwrite?
Also, if message descriptor have Qm, and Queue why it disallows any clustering? Through MQ explorer I can see this cluster queue in FMCQM. |
|
Back to top |
|
 |
Ratan |
Posted: Tue Apr 13, 2004 7:37 am Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
I cant believe this. It works for me with FDL.
How are you removing the QM name?
Remove the whole "MQSeries Queue Manager 'FMCQM' " entry from the FDL definition.
import the FDL with Force option.
-Ratan. _________________ -Ratan |
|
Back to top |
|
 |
clindsey |
Posted: Tue Apr 13, 2004 7:48 am Post subject: |
|
|
Knight
Joined: 12 Jul 2002 Posts: 586 Location: Dallas, Tx
|
Quote: |
But I got a question. When we import a fdl with queue and queue manager name it writes into some tables in db. When we re-imported again why it won't overwrite?
|
As I recall, it will update if you supply a new name, but if the name is null or does not exists, (qmgrname="" or qmgrname=) no action is taken.
It has been a while since I worked with Workflow. This was the behavior in base 3.4. It may have changed with one of the CSDs.
Charlie |
|
Back to top |
|
 |
texan |
Posted: Tue Apr 13, 2004 7:52 am Post subject: |
|
|
Acolyte
Joined: 25 Feb 2004 Posts: 74
|
I removed the whole entry from fdl and imported but it did n't help me. When tried to insert blank value and null I got errors during import itself. So I manually changed database table and it worked like a champ.
Thank you so much for your help. I really appreciate your help. I do n't have much knowledge on MQ. Why the queue manager name in message descriptor gives this problem? Can you please explain? |
|
Back to top |
|
 |
Ratan |
Posted: Tue Apr 13, 2004 7:55 am Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
It works for me. I am on 3.4 SP4 _________________ -Ratan |
|
Back to top |
|
 |
clindsey |
Posted: Tue Apr 13, 2004 9:14 am Post subject: |
|
|
Knight
Joined: 12 Jul 2002 Posts: 586 Location: Dallas, Tx
|
Quote: |
Why the queue manager name in message descriptor gives this problem? Can you please explain?
|
An application, Workflow in this case must connect to a specific queue manager before it can put any messages on a queue. After this connect, the application has an affinity to this queue manager and when ever the queue manager name is blank in the message, this local queue manager is assumed. Next, if the application does a put to a cluster queue, the queue manager always checks for a local queue first. If it exists, the message is put to the local or connected queue manager. So if you want workload balancing via clustering, make sure the cluster queue does NOT exist on the queue manager the application connects to. In some cases, even with cluster queues, you may want the message to be delivered to a specific queue manager. This is referred to as "message affinity" which in general should be avoided. However, to do this, just indicate the queue manager name in the message descriptor. With Workflow, this is precisely what happens when you define the queue manager name in the FDL. The message is bound specifically to the queue manager defined and this causes message affinity to that queue manager and cluster workload balancing is bypassed. This applies to AUDIT queues as well.
So to accomplish cluster workload balancing, do not define the queue manager in the FDL and do not define the cluster queue on the queue manager for the system Workflow connects to.
Charlie |
|
Back to top |
|
 |
texan |
Posted: Tue Apr 13, 2004 11:04 am Post subject: |
|
|
Acolyte
Joined: 25 Feb 2004 Posts: 74
|
Thanks a lot. Great forum. You guys are amazing!!! |
|
Back to top |
|
 |
mqworkflow |
Posted: Fri Apr 30, 2004 9:08 am Post subject: |
|
|
Apprentice
Joined: 23 Feb 2004 Posts: 32
|
Quote: |
I removed the whole entry from fdl and imported but it did n't help me. When tried to insert blank value and null I got errors during import itself. So I manually changed database table and it worked like a champ |
May I know which table did you change??
Thanks in advance. |
|
Back to top |
|
 |
texan |
Posted: Mon May 03, 2004 5:34 pm Post subject: |
|
|
Acolyte
Joined: 25 Feb 2004 Posts: 74
|
I removed QUEUE MANAGER NAME from PROGRAM_EXEC_AGENT table. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|