Author |
Message
|
TDS_tds_tds |
Posted: Wed Oct 01, 2003 12:15 pm Post subject: Parser Err: Not all the buffer was used when reading message |
|
|
 Novice
Joined: 31 Jul 2003 Posts: 16
|
Hi all
I am getting following Parser exception in my flow.
Quote: |
(0x1000000)RecoverableException = (
(0x3000000)File = '/build/S210_P/src/DataFlowEngine/ImbTraceNode.cpp'
(0x3000000)Line = 329
(0x3000000)Function = 'ImbTraceNode::evaluate'
(0x3000000)Type = 'ComIbmTraceNode'
(0x3000000)Name = '60e0d563-f700-0000-0080-8ce4dfbf5fb3'
(0x3000000)Label = 'ACRO.CONF.Trace2'
(0x3000000)Text = 'Caught exception and rethrowing'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
(0x3000000)Number = 2230
(0x1000000)ParserException = (
(0x3000000)File = '/build/S210_P/src/cpi/pwf/tds/tdsworker.cpp'
(0x3000000)Line = 287
(0x3000000)Function = 'CTDSWorker::hasNext'
(0x3000000)Type = ''
(0x3000000)Name = ''
(0x3000000)Label = ''
(0x3000000)Text = 'TDS General Error'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 1
(0x3000000)Number = 5421
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'TransTestMessage'
)
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = '/TransTestMessage'
)
(0x1000000)Insert = (
(0x3000000)Type = 2
(0x3000000)Text = '2625'
)
(0x1000000)ParserException = (
(0x3000000)File = '/build/S210_P/src/MTI/MTIforBroker/MtiImbParser2/MtiImbFIHandler.cpp'
(0x3000000)Line = 438
(0x3000000)Function = 'MtiImbFIHandler::endMessageContent'
(0x3000000)Type = ''
(0x3000000)Name = ''
(0x3000000)Label = ''
(0x3000000)Text = 'MTI. Not all the buffer was used when reading message'
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
|
|
|
Back to top |
|
 |
TDS_tds_tds |
Posted: Wed Oct 01, 2003 12:22 pm Post subject: |
|
|
 Novice
Joined: 31 Jul 2003 Posts: 16
|
Also I do not see any errors written to system log.
Any clues abt the problem ..?? |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Oct 01, 2003 12:50 pm Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
That error message means that the parser found all the elements you specified in your model, and completed parsing. But there were still bytes in the bitstream that had not been matched by elements in the model.
That is, there was extra stuff. So your model doesn't match your data.
Without a specific example of your model and a specific example of your data, we can't tell you why. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
TDS_tds_tds |
Posted: Wed Oct 01, 2003 3:22 pm Post subject: |
|
|
 Novice
Joined: 31 Jul 2003 Posts: 16
|
Jeff, You are right. And thanks for the hint.
I solved the problem. |
|
Back to top |
|
 |
MQ mind |
Posted: Fri Sep 01, 2006 5:04 am Post subject: |
|
|
Newbie
Joined: 01 Sep 2006 Posts: 3
|
Hi TDS_tds_tds,
I am facing a similar problem in my flow. I get the same 'MTI. Not all the buffer was used when reading message' error in my flow.
Could you please tell me how you resolved this error? |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Sep 01, 2006 5:06 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
He, MQ mind!
The error means that your data doesn't match your model.
Your message has MORE data in it than your model expects.
So fix your model to match your data, or fix your data to match your model! _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
MQ mind |
Posted: Fri Sep 01, 2006 5:38 am Post subject: |
|
|
Newbie
Joined: 01 Sep 2006 Posts: 3
|
Hi Jeff,
Let me explain how my flow works.
There is one compute node which generates an MRM tree. Then using a RCD(reset content desc) node I convert this MRM tree to a BLOB field. I then store this BLOB data in the database (using another compute node). This way I keep storing a lot of BLOB data in the database.
Now in another flow, these BLOBs are picked up from the database and concatenated. They are then sent through an RCD node to parse them back into MRM. This is when I get this error. I am using the same model(message set,type and format) as was used originally, while converting the BLOB back to MRM.
I really do not understand how anything extra could have got added to the data. Do you see where I am going wrong? Please Help! |
|
Back to top |
|
 |
wschutz |
Posted: Fri Sep 01, 2006 5:44 am Post subject: |
|
|
 Jedi Knight
Joined: 02 Jun 2005 Posts: 3316 Location: IBM (retired)
|
Use a trace node to dump both BLOBS and compare them.... _________________ -wayne |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Sep 01, 2006 5:57 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
MQ mind wrote: |
Hi Jeff,
Let me explain how my flow works.
There is one compute node which generates an MRM tree. Then using a RCD(reset content desc) node I convert this MRM tree to a BLOB field. I then store this BLOB data in the database (using another compute node). This way I keep storing a lot of BLOB data in the database. |
So you start with ONE message and you put it into a database.
MQ mind wrote: |
Now in another flow, these BLOBs are picked up from the database and concatenated. |
Now you have SEVERAL messages that are in one message.
MQ mind wrote: |
I really do not understand how anything extra have got added to the data. |
_________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
MQ mind |
Posted: Mon Sep 04, 2006 10:31 pm Post subject: |
|
|
Newbie
Joined: 01 Sep 2006 Posts: 3
|
Hi Jeff,
I was able to solve the problem. In my first message flow,I used ASBITSTREAM function instead of ResetContentDesc Node.
In the second flow instead of concatenating the BLOBs , I have used CREATE statement with PARSE options to parse the BLOBs back to MRM. Now my flows are working fine and I am not getting the error.
Thanks a lot for the help. |
|
Back to top |
|
 |
|