jbostoen/itop-jb-report-generator

Regression: iTop 3.1: hits memory limits

Closed this issue · 2 comments

Seems to do with changed behavior in iTop 3.1.0 regarding REST.

The memory peak is in the conversion of an object set to JSON.

After analysis, the problem is easily reproducible.
First, create 5,000 tickets.

Then, have some code like

$sStart = date('H:i:s');
$oFilter = DBObjectSearch::FromOQL('SELECT UserRequest');
$oSet = new DBObjectSet($oFilter);
while($o = $oSet->Fetch()) {
			
}
		
die('Start: '.$sStart.' - End: '.date('H:i:s').' - Memory peak: '.memory_get_peak_usage(true));

Surpisingly: for just one object, iTop 3.1 uses less memory. For a loop, it uses a whole lot more.

Fixed as of iTop 3.1.0-3.