Author |
Message
|
marcin.kasinski |
Posted: Tue Sep 08, 2015 2:57 am Post subject: MB 8 Message set on runtime - Unexpected broker behavior |
|
|
Sentinel
Joined: 21 Dec 2004 Posts: 850 Location: Poland / Warsaw
|
Environment:
IBM Message Broker 8.0.0.2 on Linux
Hello.
I have strange problem with IBM Message Broker 8.0.0.2 on Linux.
I have execution group with 30-40 message flows using reusable subflows.
There are very simple some kind of gateway SOAP flows with transformation.
Everything goes fine until after a few weeks and after a few deployments something goes wrong.
In one of my flows (NOT ALWAYS THE SAME) I can see that after mapping node (SOAP domain) xml tree is not I expected. In my code I map to message set X structure but on runtime I can see that this structure is created from totally random different message set existed in my environment but not used here .
Always this new structure is empty.
It is happening in different flows . Sometimes it is happening in mapping before SOAP Request note, sometimes before SOAP Reply. It is totally unexpected.
The only one thing to fix it is restarting broker. After broker restart everything works fine, but after a few weeks problem is repeated.
I experience this problem on all my environments expect DEV where I have only a few flows .
I tried increasing mem for execution group but it doesn’t help.
Any hints here please … _________________ Marcin |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Sep 08, 2015 5:07 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
THat sounds like a PMR, or an issue with the code that is somehow setting the wrong model in the LocalEnvironment before it calls the Mapping node.
This can also happen if the incoming message has headers that indicate what model it should be parsed with.
So you could have an issue with applications sending the wrong messages to the wrong input nodes. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
marcin.kasinski |
Posted: Tue Sep 08, 2015 8:41 am Post subject: |
|
|
Sentinel
Joined: 21 Dec 2004 Posts: 850 Location: Poland / Warsaw
|
Thank you Jeff for reply.
In all my flows message set is set in static way in mapping node or in my SOAP nodes.
I don't use LocalEnvironment to set message set dynamically.
I will try to raise PMR then.
Thank you... _________________ Marcin |
|
Back to top |
|
 |
smdavies99 |
Posted: Tue Sep 08, 2015 8:43 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Does setting the values in the LocalEnvironment solve the problem?
It might be worth testing. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Sep 08, 2015 9:28 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Again, settings on the *incoming message*, before you even get to the flow, can tell the Broker which message set to parse with. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
smdavies99 |
Posted: Tue Sep 08, 2015 10:11 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
mqjeff wrote: |
Again, settings on the *incoming message*, before you even get to the flow, can tell the Broker which message set to parse with. |
That is a good point. If the incoming message has the wrong data then you are going to get an error.
I remember posting just a question here around 2005/06.
If the RFH2 settings that describe the message model are set in the message that gets on the input queue, the MQINPUT node will try to parse the using those values and ignoring any parameters that are set on the input node. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Sep 08, 2015 10:21 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
smdavies99 wrote: |
mqjeff wrote: |
Again, settings on the *incoming message*, before you even get to the flow, can tell the Broker which message set to parse with. |
That is a good point. If the incoming message has the wrong data then you are going to get an error.
I remember posting just a question here around 2005/06.
If the RFH2 settings that describe the message model are set in the message that gets on the input queue, the MQINPUT node will try to parse the using those values and ignoring any parameters that are set on the input node. |
The XMLNSC parser will also use the root tag of the message (or the root of the SOAP Body) to decide which model to use. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
timber |
Posted: Tue Sep 08, 2015 11:16 pm Post subject: |
|
|
 Grand Master
Joined: 25 Aug 2015 Posts: 1292
|
Sort of. This would be more accurate, though:
Quote: |
The XMLNSC parser will also use the root tag of the message (or the root of the SOAP Body) to decide which global element declaration in the model to use. |
'The model' means 'the specified message set' in this case. In MB8 and IIB9 it can also mean 'all schemas in the application and its referenced libraries'. In IIB10 is can also mean 'all schemas in the specified shared library'. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Sep 09, 2015 4:56 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
It's always nice to be out-pedantized. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
|