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.tests/test/org/eclipse/birt/data/engine/binding/DataSetCacheTest.java
qr.close( );
		myDataEngine.shutdown( );
		assertTrue( getDataSetCacheManager( myDataEngine ).doesLoadFromCache( ) );
		assertFalse( getDataSetCacheManager( myDataEngine ).doesSaveToCache( ) );
		getDataSetCacheManager( myDataEngine ).resetForTest( );
	}
	/**
	 * Return query result
	 * @param expectedLen
	 * @param qd
	 * @param gdArray
	 * @param beArray
	 * @param columStr
	 * @return query string output
	 * @throws Exception
	 */
	private String getOutputStrForGroupTest( int expectedLen,
			QueryDefinition qd, int groupDefCount, String[] beArray,
			String[] columStr ) throws Exception
	{
		StringBuffer sBuffer = new StringBuffer( );
		
		IResultIterator ri = newDataEngine( ).prepare( qd, appContextMap )
				.execute( null )
				.getResultIterator( );
		String metaData = "";
		for ( int i = 0; i < columStr.length; i++ )
		{
			metaData += formatStr( columStr[i], expectedLen );
		}