if (executor != null) {
executor.processFacets(_facetExecutor);
}
return fetchDataIfNeeded(merge, table, blurQuery.getSelector());
} catch (StopExecutionCollectorException e) {
BlurQueryStatus queryStatus = status.getQueryStatus();
QueryState state = queryStatus.getState();
if (state == QueryState.BACK_PRESSURE_INTERRUPTED) {
throw new BlurException("Cannot execute query right now.", null, ErrorType.BACK_PRESSURE);
} else if (state == QueryState.INTERRUPTED) {
throw new BlurException("Cannot execute query right now.", null, ErrorType.QUERY_CANCEL);
}
throw e;
} catch (ExitingReaderException e) {
BlurQueryStatus queryStatus = status.getQueryStatus();
QueryState state = queryStatus.getState();
if (state == QueryState.BACK_PRESSURE_INTERRUPTED) {
throw new BlurException("Cannot execute query right now.", null, ErrorType.BACK_PRESSURE);
} else if (state == QueryState.INTERRUPTED) {
throw new BlurException("Cannot execute query right now.", null, ErrorType.QUERY_CANCEL);
}