Author |
Message
|
Ratan |
Posted: Tue Dec 10, 2002 3:34 pm Post subject: Execution Setting |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
In the Execution Setting of activity Properties, you have to specify the Execution Unit ( either PEA or PES). In the buildtime online help, I saw that it is not a neccesity to give a "fully qualified name" of a UPES
( UPES.FMCSYS.FMCGRP). that means I can just give my UPES name there ( MYUPES) and leave out System name and system group name.
From what I understand from buildtime help, I think by giving the name of PES as MYUPES instead of MYUPES.FMCSYS.FMCGRP, I should be able to run the process at which ever system it is started ( Load balacing). I wish this is true. But I tried it out and it does not appear to work. All the UPES activities are still being executed at the Primary system. ( I dont understand this part. I havent specified the complete name of UPES it needs to be executed on, It can assume MYUPES.FMCSYS1.FMCGRP. But it is always assuming MYUPES.FMCSYS.FMCGRP).
Can anybody confirm me if they can have a similar setting and get it to work.
-Thanx Laze |
|
Back to top |
|
 |
Vladimir |
Posted: Tue Dec 10, 2002 8:16 pm Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2002 Posts: 73 Location: USA, CA, Bay Area
|
Laze,
As far as I understand UPES is just the definition of a queue whwere WF to put messages and the name of UPES doesn't matter. I mean it is just for organizing UPES definitions. If queue that you have in UPES definition is defined as a local queue and is not shared in the cluster - messages cannot get from one WF system to another system for load balancing.
I though we covered this question there :
http://www.mqseries.net/phpBB2/viewtopic.php?t=6622 |
|
Back to top |
|
 |
Ratan |
Posted: Tue Dec 10, 2002 9:33 pm Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
Vladimir, I guess you did not get exactly what I was trying to ask here.
You are right that UPES to workflow is just the (UPESQM, UPESQUEUE). Name of the UPES does matter for multiple systems, if you want to load balance the UPES activities. You have to assign an activity to a UPES (MYUPES.FMCSYS.FMCGRP). When you want to load balance and use the other system with its own UPES ( MYUPES.FMCSYS1.FMCGRP) you have to specify the UPES for activities at runtime using "From Container".
My Question is in the buildtime help, I noticed that we need not specify the fully qualified name of the UPES ( a fully qualified name is UPES.<SYSNAME>.<GROUPNAME>). As the name of the UPES on all my systems will be the same ( MYUPES), I was wondering if I can just give MYUPES in the PES box and let the workflow resolve the fully qualified name depending on the system the process is.
I tried it out, But it doesn't seem to work. I want to know if someone had done this before or can let me know if that works.
Quote: |
If queue that you have in UPES definition is defined as a local queue and is not shared in the cluster - messages cannot get from one WF system to another system for load balancing.
|
This does not work if you have your workflow server and UPES use the same QM. |
|
Back to top |
|
 |
Vladimir |
Posted: Tue Dec 10, 2002 10:12 pm Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2002 Posts: 73 Location: USA, CA, Bay Area
|
lazeknight wrote: |
Vladimir, I guess you did not get exactly what I was trying to ask here. |
Yes, may be...
Quote: |
... UPES to workflow is just the (UPESQM, UPESQUEUE) |
It is not correct, it is PHYSICAL_QUEUE_NAME only. There is no UPESQM.
Quote: |
When you want to load balance and use the other system with its own UPES ( MYUPES.FMCSYS1.FMCGRP) you have to specify the UPES for activities at runtime using "From Container". |
Could you, please, explain why do we have to use "From Container" here?
Quote: |
I tried it out, But it doesn't seem to work. |
It looks like WF resolved your UPES queue name sucessfully, but it puts ActivityImplInvoke message on to the local UPES queue on the primary system, because you started process there. Do you have UPES queue shared in the cluster? If so - every other activity should be started on the Secondary system. But I think that is not a good way to go, because Scheduling server will be unable to send ActivityExpired message to the same system when needed.
Quote: |
This does not work if you have your workflow server and UPES use the same QM. |
Could you, please, give me a hint what doesn't work here in particular? We have UPES queue defined in the same QM and if it is a problem for load-balancing I definitely want to know about it, because we are going to implement load-balancing ASAP. |
|
Back to top |
|
 |
Ratan |
Posted: Tue Dec 10, 2002 10:24 pm Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
Quote: |
Quote:
... UPES to workflow is just the (UPESQM, UPESQUEUE)
It is not correct, it is PHYSICAL_QUEUE_NAME only. There is no UPESQM.
|
May be you want to take a look. I am sure you have to specify a QM and a queue. This helps you to seperate your Workflow QM and UPES QM.
-Laze |
|
Back to top |
|
 |
Vladimir |
Posted: Tue Dec 10, 2002 10:38 pm Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2002 Posts: 73 Location: USA, CA, Bay Area
|
lazeknight wrote: |
May be you want to take a look. |
Oooops, sory, Laze
I was looking into our FDLs and not into build-time. We are just leaving this field blank and this setting is not going to FDL at all. Isn't this (empty QM name) correct setting for load-balancing? |
|
Back to top |
|
 |
Ratan |
Posted: Tue Dec 10, 2002 10:39 pm Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
Quote: |
Could you, please, explain why do we have to use "From Container" here?
|
That is the only way you can specify the UPES where you want to execute your activities at runtime.
So if you want to load balance your activites, you have to specify the UPES name from container and keep on changing the UPES name for every other request.
Quote: |
It looks like WF resolved your UPES queue name sucessfully, but it puts ActivityImplInvoke message on to the local UPES queue on the primary system, because you started process there. Do you have UPES queue shared in the cluster? If so - every other activity should be started on the Secondary system. But I think that is not a good way to go, because Scheduling server will be unable to send ActivityExpired message to the same system when needed.
|
If workflow resolved the UPES name depending on the system on which it was started, this would not happen.
Quote: |
Could you, please, give me a hint what doesn't work here in particular? We have UPES queue defined in the same QM and if it is a problem for load-balancing I definitely want to know about it, because we are going to implement load-balancing ASAP. |
If you have a UPES Queue defined in the same QM as workflow and cluster it ( that means you have one more UPES queue on some other QM in the cluster), workflow will always put the message in the local queue (that is how clustering works), your requests will not be load balanced.
-Laze |
|
Back to top |
|
 |
Vladimir |
Posted: Tue Dec 10, 2002 10:59 pm Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2002 Posts: 73 Location: USA, CA, Bay Area
|
lazeknight wrote: |
you have to specify the UPES name from container and keep on changing the UPES name for every other request. |
Exactly that thing I want try to avoid
lazeknight wrote: |
...workflow will always put the message in the local queue (that is how clustering works)... |
As far as I know (and it works in our system) if you specify queue name and do not specify QM name whan you open a queue - messages that you put there will go round-robin among queue managers that are part of the cluster and have the same queue shared. Is it correct?
Do we want to open another topic specific for load-balancing?  |
|
Back to top |
|
 |
Ratan |
Posted: Tue Dec 10, 2002 11:44 pm Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
Quote: |
As far as I know (and it works in our system) if you specify queue name and do not specify QM name whan you open a queue - messages that you put there will go round-robin among queue managers that are part of the cluster and have the same queue shared. Is it correct?
|
This is true only when there is no local definition of the queue. If there is a local definition along with other cluster definitions, MQ will only put messages to the local queue. From what you said, I believe you have a local definition.
-Laze |
|
Back to top |
|
 |
Vladimir |
Posted: Tue Dec 10, 2002 11:49 pm Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2002 Posts: 73 Location: USA, CA, Bay Area
|
|
Back to top |
|
 |
|