Community
Participate
Working Groups
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