@Override public void receiveError(DispatchErrorEvent errorEvent) { logger.error("Error received in dispatch stack on owningProcess:" + errorEvent.getOwningProcess() + ", msg:" + errorEvent.getMessage(), errorEvent.getCause()); if (errorEvent.getIndex().length == 0) sendCachePurge(errorEvent.getOwningProcess()); }
/** * Always send the error document job result on receiving a failure, at * least for now! This should be configurable, in effect this is the part * that ensures the processor never sees a top level failure. */ @Override public void receiveError(DispatchErrorEvent errorEvent) { getState(errorEvent.getOwningProcess()).incrementErrorsTranslated(); sendErrorOutput(errorEvent, errorEvent.getCause(), null); }
/** * Create an {@link ErrorProvenanceItem} and send across to the * {@link ProvenanceConnector} */ @Override public void receiveError(DispatchErrorEvent errorEvent) { IterationProvenanceItem iterationProvItem = getIterationProvItem(errorEvent); // get using errorEvent.getOwningProcess(); ErrorProvenanceItem errorItem = new ErrorProvenanceItem(); errorItem.setCause(errorEvent .getCause()); errorItem.setErrorType(errorEvent .getFailureType().toString()); errorItem.setMessage(errorEvent.getMessage()); errorItem.setProcessId(errorEvent.getOwningProcess()); errorItem.setIdentifier(uuid()); errorItem.setParentId(iterationProvItem.getIdentifier()); // iterationProvItem.setErrorItem(errorItem); // FIXME don't need to add to the processor item earlier getReporter().addProvenanceItem(errorItem); super.receiveError(errorEvent); }