@Override public void errorUnknown(final AnalysisJob job, final Throwable throwable) { for (final AnalysisListener delegate : _delegates) { try { delegate.errorUnknown(job, throwable); } catch (final Exception e) { logFailure(delegate, e); } } } }
@Override public void onError(final Task task, final Throwable throwable) { try { logger.debug("onError(...)"); _analysisListener.errorUnknown(_analysisJobMetrics.getAnalysisJob(), throwable); } finally { _countDownLatch.countDown(); } }
@Override public void onError(final Task task, final Throwable throwable) { final boolean alreadyRegisteredError = _errorsReported.getAndSet(true); if (!alreadyRegisteredError) { _analysisListener.errorUnknown(_analysisJob, throwable); } incrementCounter(); }
private void onErrorInternal(final Task task, final Throwable throwable, final boolean doCleanup) { final boolean previouslySuccessful = _success.getAndSet(false); if (doCleanup) { try { cleanup(); } catch (final Exception e) { throwable.addSuppressed(e); } } if (previouslySuccessful) { // only report the first such error _analysisListener.errorUnknown(_analysisJob, throwable); } if (_nextTaskListener != null) { _nextTaskListener.onError(task, throwable); } } }
@Override protected boolean processRowsInternal(final AnalysisListener listener, final RowProcessingMetrics rowProcessingMetrics) { final Collection<ActiveOutputDataStream> activeOutputDataStreams = _parentConsumer.getActiveOutputDataStreams(); for (final ActiveOutputDataStream activeOutputDataStream : activeOutputDataStreams) { try { activeOutputDataStream.await(); } catch (final InterruptedException e) { logger.error("Unexpected error awaiting output data stream", e); listener.errorUnknown(getAnalysisJob(), e); return false; } } return true; }
"Encountered error before reducing results (showing stack trace of invoking the reducer): " + firstError.getMessage(), new Throwable()); _analysisListener.errorUnknown(_masterJob, firstError);
_analysisListener.errorUnknown(_job, e); throw e;