Source:
<code>public void process(final KeyFilter filter, final CacheLoaderTask task, Executor executor, boolean fetchValue, boolean fetchMetadata) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { String sql = tableManipulation.getLoadNonExpiredAllRowsSql(); if (log.isTraceEnabled()) { log.tracef("Running sql %s", sql); } conn = connectionFactory.getConnection(); ps = conn.prepareStatement(sql); ps.setLong(1, ctx.getTimeService().wallClockTime()); rs = ps.executeQuery(); rs.setFetchSize(tableManipulation.getFetchSize()); ExecutorAllCompletionService ecs = new ExecutorAllCompletionService(executor); final TaskContextImpl taskContext = new TaskContextImpl(); while (rs.next()) { InputStream binaryStream = rs.getBinaryStream(1); final Bucket bucket = unmarshallBucket(binaryStream); ecs.submit(new Callable<Void>() { @Override public Void call() throws Exception { try { for (MarshalledEntry me : bucket.getStoredEntries(filter, ctx.getTimeService()).values()) { if (!taskContext.isStopped()) { task.processEntry(me, taskContext); } } return null; } catch (Exception e) { log.errorExecutingParallelStoreTask(e); throw e; } } }); } ecs.waitUntilAllCompleted(); if (ecs.isExceptionThrown()) { <START> throw new CacheLoaderException("Execution exception!"); <END> } } catch (SQLException e) { log.sqlFailureFetchingAllStoredEntries(e); throw new CacheLoaderException("SQL error while fetching all StoredEntries", e); } finally { JdbcUtil.safeClose(rs); JdbcUtil.safeClose(ps); connectionFactory.releaseConnection(conn); } }</code><technical_language>above: "couldn't save occurred exception put a exception?"</technical_language>

Target:
public void process(final KeyFilter filter, final CacheLoaderTask task, Executor executor, boolean fetchValue, boolean fetchMetadata) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { String sql = tableManipulation.getLoadNonExpiredAllRowsSql(); if (log.isTraceEnabled()) { log.tracef("Running sql %s", sql); } conn = connectionFactory.getConnection(); ps = conn.prepareStatement(sql); ps.setLong(1, ctx.getTimeService().wallClockTime()); rs = ps.executeQuery(); rs.setFetchSize(tableManipulation.getFetchSize()); ExecutorAllCompletionService ecs = new ExecutorAllCompletionService(executor); final TaskContextImpl taskContext = new TaskContextImpl(); while (rs.next()) { InputStream binaryStream = rs.getBinaryStream(1); final Bucket bucket = unmarshallBucket(binaryStream); ecs.submit(new Callable<Void>() { @Override public Void call() throws Exception { try { for (MarshalledEntry me : bucket.getStoredEntries(filter, ctx.getTimeService()).values()) { if (!taskContext.isStopped()) { task.processEntry(me, taskContext); } } return null; } catch (Exception e) { log.errorExecutingParallelStoreTask(e); throw e; } } }); } ecs.waitUntilAllCompleted(); if (ecs.isExceptionThrown()) { throw new CacheLoaderException("Execution exception!", ecs.getFirstException()); } } catch (SQLException e) { log.sqlFailureFetchingAllStoredEntries(e); throw new CacheLoaderException("SQL error while fetching all StoredEntries", e); } finally { JdbcUtil.safeClose(rs); JdbcUtil.safeClose(ps); connectionFactory.releaseConnection(conn); } }