|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Platform incompatibility - NT vs. AIX |
« View previous topic :: View next topic » |
Author |
Message
|
Tibor |
Posted: Thu Aug 22, 2002 9:06 am Post subject: Platform incompatibility - NT vs. AIX |
|
|
 Grand Master
Joined: 20 May 2001 Posts: 1033 Location: Hungary
|
I'm developing on an NT box then later I used to send all the stuff (message flows & sets) to an AIX, our test system. Everything has been working fine up to now.
I wrote a general message flow for parsing and sending any large messages - repeating structures, like files, IDocs, etc. But when I deployed it onto AIX, messages went to the failure terminal. OK, I made a simpler, specialized version for only one message type... without any success.
Flow:
Code: |
In -> Compute1 -> Compute2 -> Out
| |
+--> FailTrace +--> DebugTrace
Compute1:
SET OutputRoot.MRM.rep_count = 0;
SET OutputRoot.MRM.DD_ZAR_TKFOR[] = (SELECT
'Z2ZAR_TKFOR000' AS segnam,
'010' AS mandt,
'0000000000000000' AS docnum,
'' AS segnum,
'' AS psgnum,
'' AS hlevel,
A.ZAR_TKFOR,
'' AS sdata
from InputRoot.MRM.FI_ZAR_TKFOR[] AS A);
SET OutputRoot.MRM.rep_count = CARDINALITY(OutputRoot.MRM.FI_ZAR_TKFOR[]);
SET OutputRoot.Properties.MessageSet = 'DOJU7DC0AM001';
SET OutputRoot.Properties.MessageType = 'SAP_ZAR_TKFOR';
SET OutputRoot.Properties.MessageFormat = 'CWF';
Compute2:
--(copy message headers ON)
SET OutputRoot.BLOB.BLOB = substring(bitstream(InputRoot.MRM) from 9);
|
Notes:
1. original code was a dynamic 'SET ... SELECT' statement but I reduced it.
2. "A.ZAR_TKFOR" is a tree element with leaf values.
ExceptionList:
Code: |
----
(
(0x1000000)RecoverableException = (
(0x3000000)File = '/build/S210_P/src/DataFlowEngine/ImbDataFlowNode.cpp'
(0x3000000)Line = 536
(0x3000000)Function = 'ImbDataFlowNode::createExceptionList'
(0x3000000)Type = 'ComIbmMQInputNode'
(0x3000000)Name = '43084269-ee00-0000-0080-e747e9614385'
(0x3000000)Label = 'Batch_v2002.08.14_1.InQ'
(0x3000000)Text = 'Node throwing exception'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
(0x3000000)Number = 2230
(0x1000000)RecoverableException = (
(0x3000000)File = '/build/S210_P/src/DataFlowEngine/ImbComputeNode.cpp'
(0x3000000)Line = 390
(0x3000000)Function = 'ImbComputeNode::evaluate'
(0x3000000)Type = 'ComIbmComputeNode'
(0x3000000)Name = '287f3c68-ef00-0000-0080-c34d3bd5f31e'
(0x3000000)Label = 'Batch_v2002.08.14_1.Drop_repcount'
(0x3000000)Text = 'Caught exception and rethrowing'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
(0x3000000)Number = 2230
(0x1000000)ParserException = (
(0x3000000)File = '/build/S210_P/src/cpi/dictinfo/stddi/stddictionaryiterator.cpp'
(0x3000000)Line = 477
(0x3000000)Function = 'StdDictionaryIterator::moveToPeer'
(0x3000000)Type = 'ComIbmMQInputNode'
(0x3000000)Name = '43084269-ee00-0000-0080-e747e9614385'
(0x3000000)Label = 'Batch_v2002.08.14_1.InQ'
(0x3000000)Text = 'invalid tag id'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
(0x3000000)Number = 5502
)
)
)
) |
Broker's reply 'invalid tag id' is not very intuitive (for me). So I look a full trace on NT and AIX, and trace files seemed different - watch the hex numbers! This is only a snippet, because trace is very long.
Code: |
AIX:
(0x1000000)DD_ZAR_TKFOR = (
(0x3000000)segnam = 'Z2ZAR_TKFOR000'
(0x3000000)mandt = '010'
(0x3000000)docnum = '0000000000000000'
(0x3000000)segnum = ''
(0x3000000)psgnum = ''
(0x3000000)hlevel = ''
(0x1000001)ZAR_TKFOR = (
(0x3000001)mandt = '010'
(0x3000001)blart = 'DT'
|
NT:
Code: |
(0x1000000)DD_ZAR_TKFOR = (
(0x3000000)segnam = 'Z2ZAR_TKFOR000'
(0x3000000)mandt = '010'
(0x3000000)docnum = '0000000000000000'
(0x3000000)segnum = ''
(0x3000000)psgnum = ''
(0x3000000)hlevel = ''
(0x1000013)ZAR_TKFOR = (
(0x300000B)mandt = '010'
(0x300000B)blart = 'DT'
|
This is very interesting for me becuase I thought that brokers are working on a public parser code without any OS specifics.
Versions and CSD levels are same. |
|
Back to top |
|
 |
CodeCraft |
Posted: Thu Aug 22, 2002 11:24 pm Post subject: |
|
|
Disciple
Joined: 05 Sep 2001 Posts: 195
|
The WMQI parsers are written in C++ and have platform specific ports applied, which in general should not show any differences, but occasionally there may be an odd defect.
It looks like your problem is in reading the dictionary for the MRM.
What is the CSD level, and, are there any APARs on NT, not on AIX, or vice versa? You should have 2.1 CSD 02 applied (manditory).
If this is a product defect you're unlikely to resolve it via the forum here. |
|
Back to top |
|
 |
Tibor |
Posted: Fri Aug 23, 2002 12:30 am Post subject: |
|
|
 Grand Master
Joined: 20 May 2001 Posts: 1033 Location: Hungary
|
CodeCraft wrote: |
It looks like your problem is in reading the dictionary for the MRM.
|
I don't think, because when I collected the OutputRoot through a lot of SETs, it worked fine. But my input contents repeating structures, and an ESQL loop is very slow.
CodeCraft wrote: |
What is the CSD level, and, are there any APARs on NT, not on AIX, or vice versa? You should have 2.1 CSD 02 applied (manditory).
|
Version is 2.1 with CSD02.
CodeCraft wrote: |
If this is a product defect you're unlikely to resolve it via the forum here. |
I launch my problem for everyone with "double purpose":
(1) maybe anyone helps me
(2) to avoid similar pitfall
And, of course, I forwarwed this defect to our support partner. |
|
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
|
|
|
|