Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
OutOfMemoryError in birt version 3.7.1
chandu07
Hi,
Can you please hlep to resolve this issue.
we are setting 3,00,000 records to scripting dataset the below error thrown and it is working for 2,65000 records.
Thanks in Advance.
Caused by: java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2882)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)
at java.lang.StringBuilder.append(StringBuilder.java:119)
at java.lang.StringBuilder.append(StringBuilder.java:115)
at java.util.AbstractCollection.toString(AbstractCollection.java:422)
at java.lang.String.valueOf(String.java:2826)
at java.lang.StringBuffer.append(StringBuffer.java:219)
at org.eclipse.birt.report.engine.api.impl.EngineTask.setAppContext(EngineTask.java:377)
Find more posts tagged with
Comments
CBR
Hi,
how do you run your report? Do you use the BIRT WebViewer or are you interacting with the runtime engine directly to generate your report?
Easiest solution would be to increase the heap size for your app-Server running the reports.
One major change from 2.6 to 3.7 is that the data engine process all data set rows in memory. Another thing is the JDBC driver which needs to deliver the result set in streaming mode. If you integrated BIRT on your own you need to set an appContext parameter to enable the data engine to swap datasets.
I m not 100% sure but i think that this parameter could not be set in the WebViewer config. I need to have a deeper look into the webviewer code to be sure about that (will make sure if i know how you are using BIRT)
CBR
Oh just saw that it is related to a scripted data set.
Therefore i also need to know about the concrete implementation of your dataset. If it doesn't load records from database you could also forget about the jdbc stuff.
hulmea
It may be helpful to post your JVM heap sizes, Perms size, stacksize and extra options plus O/S.
The data set is quite large so may not be Garbage collecting efficiently. It may need some help with GC/Sizing.
It may be worth threaddumping while the report is running (Kill -3 PID on unix/linux). Do 3 in a row and check that is is the report causing this. If so heapdump it and check in Eclipse mem Analyzer to see how much you need to increase this.