Bug 343944 - Request for parametrizable constants
Summary: Request for parametrizable constants
Status: NEW
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: BIRT (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Birt-Report-inbox@eclipse.org CLA
QA Contact: Xiaoying Gu CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-27 08:00 EDT by aszopko CLA
Modified: 2011-04-27 22:53 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description aszopko CLA 2011-04-27 08:00:40 EDT
Build Identifier: 20110301-1815  BIRT : v20110214-1523

We have some reports, which cannot be run for huge data sets, because of the memory usage method: the groups are cached as CachedList objects, and these will  only be written on the HDD, when count reaches LIST_BUFFER_SIZE.

The problem is, that LIST_BUFFER_SIZE is set to 4000, and the 2G Java heap is full before it gets to 1000....  

There should be a way to set these numbers for every report.

What's more, for some reason the methods setNormalMemoryUsage( ) and setConservativeMemoryUsage( ) set the same values.

These constants can be found in the class

\plugins\org.eclipse.birt.data\src\org\eclipse\birt\data\engine\cache\Constants.java

	public static void setNormalMemoryUsage( )
	{
		LIST_BUFFER_SIZE = 4000;
		MAX_LIST_BUFFER_SIZE = 6000;
		FACT_TABLE_BUFFER_SIZE = 40000;
		aggressiveMemoryUsage = false;
	}
	
	public static void setConservativeMemoryUsage( )
	{
		LIST_BUFFER_SIZE = 4000;
		MAX_LIST_BUFFER_SIZE = 6000;
		FACT_TABLE_BUFFER_SIZE = 40000;
		aggressiveMemoryUsage = false;
	}


Reproducible: Always