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 » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » Workflow can't put messages on Cluster Queue

Post new topic  Reply to topic
 Workflow can't put messages on Cluster Queue « View previous topic :: View next topic » 
Author Message
texan
PostPosted: Tue Apr 13, 2004 1:56 am    Post subject: Workflow can't put messages on Cluster Queue Reply with quote

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
View user's profile Send private message
clindsey
PostPosted: Tue Apr 13, 2004 6:25 am    Post subject: Reply with quote

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
View user's profile Send private message
Ratan
PostPosted: Tue Apr 13, 2004 6:42 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
texan
PostPosted: Tue Apr 13, 2004 7:29 am    Post subject: Reply with quote

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
View user's profile Send private message
Ratan
PostPosted: Tue Apr 13, 2004 7:37 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
clindsey
PostPosted: Tue Apr 13, 2004 7:48 am    Post subject: Reply with quote

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
View user's profile Send private message
texan
PostPosted: Tue Apr 13, 2004 7:52 am    Post subject: Reply with quote

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
View user's profile Send private message
Ratan
PostPosted: Tue Apr 13, 2004 7:55 am    Post subject: Reply with quote

Grand Master

Joined: 18 Jul 2002
Posts: 1245

It works for me. I am on 3.4 SP4
_________________
-Ratan
Back to top
View user's profile Send private message Send e-mail
clindsey
PostPosted: Tue Apr 13, 2004 9:14 am    Post subject: Reply with quote

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
View user's profile Send private message
texan
PostPosted: Tue Apr 13, 2004 11:04 am    Post subject: Reply with quote

Acolyte

Joined: 25 Feb 2004
Posts: 74

Thanks a lot. Great forum. You guys are amazing!!!
Back to top
View user's profile Send private message
mqworkflow
PostPosted: Fri Apr 30, 2004 9:08 am    Post subject: Reply with quote

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
View user's profile Send private message
texan
PostPosted: Mon May 03, 2004 5:34 pm    Post subject: Reply with quote

Acolyte

Joined: 25 Feb 2004
Posts: 74

I removed QUEUE MANAGER NAME from PROGRAM_EXEC_AGENT table.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » Workflow can't put messages on Cluster Queue
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.