Bug 414028 - Compiled script cache in ReportRunnable not copied on clone
Summary: Compiled script cache in ReportRunnable not copied on clone
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: BIRT (show other bugs)
Version: 4.3.0   Edit
Hardware: All All
: P3 normal with 2 votes (vote)
Target Milestone: ---   Edit
Assignee: Birt-ReportEngine-inbox@eclipse.org CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-30 11:31 EDT by Jeroen Baekelandt CLA
Modified: 2013-08-01 04:45 EDT (History)
0 users

See Also:


Attachments
Patch to ReportRunnable.java (491 bytes, application/octet-stream)
2013-07-30 11:31 EDT, Jeroen Baekelandt CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jeroen Baekelandt CLA 2013-07-30 11:31:36 EDT
Created attachment 233949 [details]
Patch to ReportRunnable.java

We have a use case where we generate lots of reports from the same design and we get frequent very long (15+ seconds) full GC's. On investigation we noticed these are caused by the collection of org.mozilla.javascript.gen.cXXX *classes*, of which an infinite amount seem to get generated. Upon further investigation, we found that org.eclipse.birt.report.engine.api.impl.ReportRunnable has a cache for compiled scripts (the cachedScripts property), which does not get used, because cloneRunnable does copy the reference of it.

With the attached patch (adds 1 line to cloneRunnable: newRunnable.cachedScripts = cachedScripts;), our problem is solved.