| Summary: | OutofMemory occurs when preview the attached report[1102] | ||||||
|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Tianli Zhang <tzhang> | ||||
| Component: | BIRT | Assignee: | Jerry Cheng <cyfgod> | ||||
| Status: | CLOSED FIXED | QA Contact: | |||||
| Severity: | major | ||||||
| Priority: | P3 | CC: | cyfgod | ||||
| Version: | 2.2.0 | Keywords: | plan | ||||
| Target Milestone: | 2.2.1 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Tianli Zhang
Created attachment 70060 [details]
attached design file
After investigation, this is caused by a too big data feed for crosstab, 2000+ rows and 120+ columns. So the resulting html output is very big, about 140+M. This caused the memory issue when viewer try to load it in browser. Note if we simply use report engine api to run and render this report, it just takes 20M memory all around. So the suggestion is Dte provide a settting to limit the cube query result size during design time, like currently we do for table. This is a design-time enhancement. In production environment, we normally dont' face this issue. either we will use paged ouput, or we will have strong enough hardware resource. P.S. optimize the engine html output can dramatically reduce the html file size, I've filed a bug 190942 to report engine. Dte will provide a settting to limit the result size of edge cursor. After discussion we decide to add two appContext settings to limit the number of row/column xtab. User can limit the size of xtab query result by pass appContext settings to Data Engine. Meanwhile, it is not necessary for DtE to return the consistent execution result data for user. Instead, we should throw exceptions to let user know that they are dealing with trunked data. The appContext setting only apply in direct presentation mode. Dte has added one setting key in DataEngine.CUBECURSOR_FETCH_LIMIT_ON_LEVEL, the value of this properties should be zero or positive integer. GUI should add this setting in crosstab preference page. Added preference page, reassign to viewer to apply the setting. Add a new option to limit cube fetching levels. User can append __maxlevels in URL to set this setting and also can define it in web.xml. closed! Regards! |