for (QueryFailureListener listener : failureListeners) { try { listener.processFailure(new QueryBatchException(batch, t)); } catch (Throwable e) { logger.error("Exception thrown by an onQueryFailure listener", e);
for (QueryFailureListener listener : failureListeners) { try { listener.processFailure(new QueryBatchException(batch, t)); } catch (Throwable e) { logger.error("Exception thrown by an onQueryFailure listener", e); listener.processFailure(new QueryBatchException(batch, t)); } catch (Throwable e) { logger.error("Exception thrown by an onQueryFailure listener", e);
for ( QueryFailureListener listener : failureListeners ) { try { listener.processFailure(new QueryBatchException(batch, t)); } catch (Throwable e2) { logger.error("Exception thrown by an onQueryFailure listener", e2);
/** * This implements the QueryFailureListener interface * * @param queryBatch the exception with information about the failed query attempt */ public void processFailure(QueryBatchException queryBatch) { boolean isHostUnavailableException = processException(queryBatch.getBatcher(), queryBatch, queryBatch.getClient().getHost()); if ( isHostUnavailableException == true ) { try { logger.warn("Retrying failed batch: {}, results so far: {}, forest: {}, forestBatch: {}, forest results so far: {}", queryBatch.getJobBatchNumber(), queryBatch.getJobResultsSoFar(), queryBatch.getForest().getForestName(), queryBatch.getForestBatchNumber(), queryBatch.getForestResultsSoFar()); queryBatch.getBatcher().retryWithFailureListeners(queryBatch); } catch (RuntimeException e) { logger.error("Exception during retry", e); processFailure(new QueryBatchException(queryBatch, e)); } } }