|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MQJMSTransform abend memory |
« View previous topic :: View next topic » |
Author |
Message
|
Duke |
Posted: Tue Dec 18, 2007 2:41 am Post subject: MQJMSTransform abend memory |
|
|
 Apprentice
Joined: 09 Mar 2004 Posts: 49 Location: Belgium
|
Hi,
I have a message flow which reads +- 17200 records from an oracle database in a compute node using a single query.
For each record retrieved from the database, it creates an XML outputmessage (size <= 2 kb) that is propagated downstream the flow where there is a MQJMSTransform node which in turn puts it on a JMSOutput queue.
The flow is being triggered by one inputmessage. When I launch this flow, it retrieves the records from the database. After it has only outputted +- 1500 messages on the JMSOutputqueue the execution group crashes because of a memory abend (failed to allocate memory).
When I changed the JMSOutput node to an MQOutput node and added a JMSMQTransform node I still received the abend. However if I remove the two transformation nodes, all records are processed without any problem.
I have traced the memory for the execution group. In the case of a JMSMQTransform node it rapidely increases untill it is maxed out. Without JMSMQTransform node it remains stable all the time (and uses significantly less memory).
The settings of the nodes:
MQInput Node:
- Transaction Node: No.
Compute Node:
- Transaction: Automatic
- Compute mode: Message
- I have assigned the result of the query to a variable in the Environment. And for each records I issue a propagate (just "PROPAGATE") after I have filled in all the fields of the OutputRoot.
JMSOutput Node:
- Transaction Node: None.
MQOutput Node:
- Transaction Node: No.
In the ESQL of the while loop I have added the statement 'DELETE FIELD OutputRoot.XML/MRM' to clear memory, but that did not help.
I have increased the heapsize of the JVM, but that did not help either.
Hope that you can help us!
_________________ Pierre Richelle
Engineer
IBM Certified MQSeries Developper V5.3
IBM Certified WMQ Administration V6 |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Dec 18, 2007 3:25 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I would a) open a PMR, b) rework your flow in the following manner - assuming that the flow starts with an MQInput node:
MQInput-><stuff>->MQJMSTransform->Compute(query/propagate)->JMSOutput
You only need to do the MQJMSTransform once, to convert the MQInput header data into JMS header data. Then you can populate the JMS Properties and header data normally in your ESQL, to reflect the needed information for each output message. _________________ I am *not* the model of the modern major general. |
|
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
|
|
|
|