|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
WMB6.1 - CompNode 'Compute mode ALL' not copying LocalEnv? |
« View previous topic :: View next topic » |
Author |
Message
|
isaw |
Posted: Mon Apr 06, 2009 6:37 am Post subject: WMB6.1 - CompNode 'Compute mode ALL' not copying LocalEnv? |
|
|
Apprentice
Joined: 09 May 2007 Posts: 45
|
Hey guys,
My LocalEnvironment isn't being copied across the nodes as expected, even tho the compute node has the mode set to 'ALL'.
Here's my flow:
Code: |
FileInputNode --> CompNode1 --> RCD Node --> CompNode2 |
1. FileInputNode reads my file line by line and passes the data as a BLOB to CompNode1
2. CompNode1's ESQL has "SET OutputRoot = InputRoot" set initially, does some work and then goes to the RCD node
3. RCD node does it's thing and then passes to CompNode2.
4. CompNode2 does some stuff that requires the InputLocalEnvironment.File.Name which is NULL and blows up. This is the problem.
I was under the impression that setting a Compute Node's compute mode to 'ALL' meant everything was copied across as it lists the options as:
- Local Environment & Message
- Exception
- Exception & Message
- Exception & Local Environment
- ALL
And I figured 'ALL' meant 'all of the above'.
So now, I have to manually include
Code: |
SET OutputLocalEnvironment = InputLocalEnvironment; |
Which is fine, but I assumed I didn't need to do that on the nodes I specify as 'ALL'.
Is this what you would expect? Or is this a bug? |
|
Back to top |
|
 |
mgk |
Posted: Mon Apr 06, 2009 7:00 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Hello, this is working as designed.
The Compute Mode is used to determine which of the NEW (Output) trees will be propagated in the MessageAssembly as it leaves the Out terminal of the ComputeNode. So ALL means use all the Output* trees. If you want to keep the InputLocalEnvironment, just set the Mode to NOT include the LocalEnvironment (e.g. to Message).
Longer Explanation:
From a compute nodes perpective there are always seven trees available for use:
InputRoot
InputLocalEnvironment
InputExceptionList
OutputRoot
OutputLocalEnvironment
OutputExceptionList
Environment.
The Environment is always propagated, so the ComputeMode has no effect on this tree.
The message leaving any of the Out terminals of the ComputeNode will always have four trees. An Environment, a Root, a LocalEnvironment and an ExceptionList. The ComputeMode determines which of the trees Input* or Output* should be used to make the Output message to be propagated as follows:
Compute Mode | Meaning
"Message" == OR, ILE, IEL
"LocalEnvironment" == OLE, IR, IEL
"LocalEnvironment And Message" == OLE, OR, IEL
"Exception" == OEL, IR, ILE
"Exception And Message" == OEL, OR, ILE
"Exception And LocalEnvironment" == OEL, OLE, IR
"All" == OR, OLE, OEL
Key:
IR = InputRoot
ILE = InputLocalEnvironment
IEL = InputExceptionList
OR = OutputRoot
OLE = OutputLocalEnvironment
OEL = OutputExceptionList
I hope this helps explain things.
Kind Regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
isaw |
Posted: Mon Apr 06, 2009 7:36 am Post subject: |
|
|
Apprentice
Joined: 09 May 2007 Posts: 45
|
Ah, thanks for the heads up on that, mgk.
I obviously didn't understand just what the 'ALL' meant and what actually the compute mode option entailed.
Thanks, I'm back on track! |
|
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
|
|
|
|