Author |
Message
|
vnreddy |
Posted: Mon Jun 06, 2005 3:44 am Post subject: Problem with large messages greater than 30MB in WBIMB |
|
|
Novice
Joined: 01 May 2003 Posts: 23 Location: UK
|
Hi All,
I am trying to insert a message into oracle table using a WBIMB message flow on Solaris platform. The flow is able to insert 30MB message payload into a table. For the message length greater than 30MB, the message flow is not able to insert into table and no exception node message in the queue, but I can see the message in the failure node queue. The payload column in the oracle table is a CLOB data type field.
When I run the mqsi user trace command I have found the following messages
-----2005-06-06 10:03:24.173328 23 UserTrace BIP2631I: Backed out message being propagated to failure terminal; node 'GSKMUSchema.CORE_SSA_LogInboundMsg.SSA Inbound Queue'.
Node 'GSKMUSchema.CORE_SSA_LogInboundMsg.SSA Inbound Queue' has received a message which has previously been backed out because of a processing error in the message flow. The MQMD 'backoutCount' of the message exceeds (or equals) the 'backoutThreshold' defined for the WebSphere Business Integration input queue. The message broker is propagating the message to the failure terminal of the node. Examine the other messages and the message flow to determine why the message is being backed out. Correct this situation if possible. Perform any local error recovery processing required.
2005-06-06 10:03:26.215060 23 UserTrace BIP2638I: The MQ output node 'GSKMUSchema.CORE_SSA_LogInboundMsg.Failure Queue' attempted to write a message to queue 'REDDY_SSAINBOUND.FAILQ' connected to queue manager ''. The MQCC was '0' and the MQRC was '0'.
2005-06-06 10:03:26.215104 23 UserTrace BIP2622I: Message successfully output by output node 'GSKMUSchema.CORE_SSA_LogInboundMsg.Failure Queue' to queue 'REDDY_SSAINBOUND.FAILQ' on queue manager ''. ----
I do not understand why the message just is getting backed to failure node queue with out any exception message in the queue or in the user trace log. Is anybody experienced with this kind of problem? Do I need to do any tuning for oracle table?
It would very helpful if you can share any ideas on this.
Regards
VNReddy |
|
Back to top |
|
 |
Michael Dag |
Posted: Mon Jun 06, 2005 4:19 am Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
what are the MAXMSGL 's of your output Queues?
even if your Oracle can not insert the message because of size, the message should be able to pass to the output (failure) queue. _________________ Michael
MQSystems Facebook page |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Jun 06, 2005 4:32 am Post subject: Re: Problem with large messages greater than 30MB in WBIMB |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
vnreddy wrote: |
I do not understand why the message just is getting backed to failure node queue with out any exception message in the queue or in the user trace log. Is anybody experienced with this kind of problem? Do I need to do any tuning for oracle table? |
If, by "failure node queue" you mean "I hooked up an MQOutput node to the failure terminal of the MQInput node", then this behavior is expected.
It is much better to - create a backup queue and a backout threshold on the input queue)
- hook your error handling to the catch terminal of the MQInput node
- Put a Throw node at the end of the catch flow
- Do not put an MQOutput node in the error handling
This method ensures that the regular transactional behavior of WBIMB will be followed, that error messages will get written to event logs, and that poison messages will not cause infinite loops.
There's a redbook somewhere that talks about error handling with WBIMB. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
vnreddy |
Posted: Mon Jun 06, 2005 9:29 am Post subject: |
|
|
Novice
Joined: 01 May 2003 Posts: 23 Location: UK
|
Hi Jefflowrey,
Thank you for the reply
Yes you are right that "I hooked up an MQOutput node to the failure terminal of the MQInput node",
I have tried with the following suggested steps:
""
a. create a backup queue and a backout threshold on the input queue)
b. hook your error handling to the catch terminal of the MQInput node
c. Put a Throw node at the end of the catch flow
d. Do not put an MQOutput node in the error handling """
Here in the MQSI User trace I have found that message is still getting backed to failure output node when the backout count of flow input queue is greater than threshold count value of backout queue.
I was guessing the message should suppose to go the backoutqueue,but it didn't go.! and no errors in the MQSI log file also.??
And I have found that CORE dump has been generated in /opt/mqsi on Solaris box. I will be sending this CORE file to IBM support people for further investigations.
Warm regards
Narasimha Reddy |
|
Back to top |
|
 |
JT |
Posted: Mon Jun 06, 2005 11:23 am Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
Quote: |
do not understand why the message just is getting backed to failure node queue with out any exception message in the queue or in the user trace log. Is anybody experienced with this kind of problem? Do I need to do any tuning for oracle table? |
Perhaps an ODBC trace will provide details as to the failed database insert. |
|
Back to top |
|
 |
|