cancel
Showing results for 
Search instead for 
Did you mean: 

"Out of memory: java heap space" error while saving a BLS transaction

Former Member
0 Kudos

Hello Community,

We are struggling with a “Out of Memory : Java Heap Space” error while saving a BLS transaction, since we changed our strategy to use action joiners instead of a BLS transaction using 7 different queries against a giant Informix database. Each query performs grouping and sum calculations on an average of 5 million records views. These views keeps data since 10 years ago. This change on strategy was because the BLS transaction using only queries crashed while reaching some kind of time limit. We suppose that because there was a repeater reading every record of a “father” query and then every record was passing its parameters to other 7 heavy calculation queries reaching this time limit was kind of obvious .

We already increased the amount of memory by 4 gb for the Java Heap Space. After that, we expanded the BLS transaction a little bit by creating some more joiners.  But we did not finished creating all joiners needed.  We reached again to a memory limit. If you could see our transaction,  we are launching in one same block  at the beginning of the BLS transaction all 7  queries grouped by the same two keys ( product and center). We use the joiners to link the results of the queries by product and center. As being built , adding joiners step by step,  I have tested this BLS transaction and runs very fast!. We suppose all these queries run in parallel. Problem is that we try to save the transaction;  the out of memory:java heap space error arise again.

Please help,

We are running a 12.2.4 ( build 80 ) MII platform .

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member185280
Active Contributor
0 Kudos

When you load test data into the queries are you using the 'Limit Number of Rows' option?

Former Member
0 Kudos

Thanks Christian,

Yes I am using the ‘Limit Number of Rows’ option . 

Please help & best regard,

0 Kudos

Hello Fernando,

You can update the JRE heap allocated to your
MII Workbench via the MII Menu -> System Management -> System Properties
page look at the workbench max heap field in the Tuning section (I have mine set to 256 MBs).

You can also reduce the number of rows that your query or action blocks are holding in the design-time view of the workbench (similar to the use the reduced row count) for all of the XML documents that your actions are using and can readily identify the big offenders here this if you export the transaction to a .trx file and then open it up in an editor…just look for “huge” entries of reference XML and have a look at the action that has this large XML reference document.  I can walk you through it via a SAP Connect if you like.

Sam

Former Member
0 Kudos

Good to read from you !

On our 12.2.4 ( build 80 ) MII platform,  we do not have any Tuning section, neither a work bench max heap field. Perhaps,  we need to install a patch or something else. Being this the case, please send a note to install the upgrade or whatever.

Thanks. 

I took a look at the txt file version of the trx file. What I found was that  all the rows created by the joiner action upon the queries are huge. In the other hand, the queries rows are not that many ( I guess because the limit number of rows field being activated ). Is there a way to reduce the number of result rows for the joiner action?

Great help,  and yes,  I will prepare a SAP Connect soon.

Best regard.

0 Kudos

Fernando,

You are correct, for your 12.2 instance it's not available in the System Management view but here's the note for 14.0 that explains it (1983986  - WorkBench Memory Setting in SystemProperties Screen).

There is also the possibility to modify the Workbench.jsp page on the server directly to increase this and I outline the instructions on how to do that here as per another request from a year ago:

There isn't a way for the joiner directly but in the query action configuration dialog you can manually specify a parameter to add, so manually add in "RowCount" and set the value to 1 and then press the "Add Parameter" button and press OK.  Then re-configure the Joiner action to again point to the query action response document and this should force the RowCount to a single row and will eliminate your save issue...then simply delete the parameter in the query configuration dialog or in the Links set a value for "RowCount" to be your desired maximum rows to return at runtime.

Hope this helps,

Sam

Former Member
0 Kudos

Sam,

Now everything works fine. Great help on that trick about the RowCount parameter. 

Thanks! 

Best regards.