Bug 206861 The data set cache should handle IOException and the cancel request from customer
The data set data will be saved into disk file in the first query and it will be loaded in the later time. The processing of write disk file may be cancelled by customer request or IOException. Using the data from the bad file will cause error.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/executor/cache/SmartCacheHelper.java
}
	/**
	 * Populate the smartCache.
	 * 
	 * @param rsMeta
	 * @param rowResultSet
	 * @param sortSpec
	 * @param stopSign
	 * @throws DataException
	 */
	private void populateData( IRowResultSet rowResultSet, IResultClass rsMeta,
			SortSpec sortSpec, StopSign stopSign ) throws DataException
	{
		long startTime = System.currentTimeMillis( );
		SizeOfUtil sizeOfUtil = new SizeOfUtil( rsMeta );
		
		long memoryCacheSize = CacheUtil.computeMemoryBufferSize( eventHandler.getAppContext() );
		
		IResultObject odaObject;
		IResultObject[] resultObjects;
		List resultObjectsList = new ArrayList( );
		int dataCount = 0;
		long usedMemorySize = 0;
		while ( ( odaObject = rowResultSet.next( ) ) != null && !stopSign.isStopped( ) )
		{
			if ( usedMemorySize < memoryCacheSize )
			{
				dataCount++;