/** {@inheritDoc} */ @Override protected IgniteBiTuple<Long, List<IgniteExceptionRegistry.ExceptionInfo>> run( Map<UUID, Long> arg) { Long lastOrder = arg.get(ignite.localNode().id()); long order = lastOrder != null ? lastOrder : 0; List<IgniteExceptionRegistry.ExceptionInfo> errors = ignite.context().exceptionRegistry().getErrors(order); List<IgniteExceptionRegistry.ExceptionInfo> wrapped = new ArrayList<>(errors.size()); for (IgniteExceptionRegistry.ExceptionInfo error : errors) { if (error.order() > order) order = error.order(); wrapped.add( new IgniteExceptionRegistry.ExceptionInfo( error.order(), new VisorExceptionWrapper(error.error()), error.message(), error.threadId(), error.threadName(), error.time())); } return new IgniteBiTuple<>(order, wrapped); }
/** {@inheritDoc} */ @Nullable @Override protected Map<UUID, IgniteBiTuple<Long, List<IgniteExceptionRegistry.ExceptionInfo>>> reduce0( List<ComputeJobResult> results) { Map<UUID, IgniteBiTuple<Long, List<IgniteExceptionRegistry.ExceptionInfo>>> taskRes = new HashMap<>(results.size()); for (ComputeJobResult res : results) { IgniteBiTuple<Long, List<IgniteExceptionRegistry.ExceptionInfo>> jobRes = res.getData(); taskRes.put(res.getNode().id(), jobRes); } return taskRes; }