[fix] use Throwable insteadof Exception to catch Error in ProcessorRunnable

This commit is contained in:
tjq 2020-06-15 20:15:57 +08:00
parent 42c3ce3747
commit 69bbd9a5f8
4 changed files with 8 additions and 7 deletions

View File

@ -133,7 +133,7 @@ public class OmsJarContainer implements OmsContainer {
Thread.currentThread().setContextClassLoader(oldCL);
}
log.info("[OmsJarContainer] init container(name={},jarPath={}) successfully", containerId, localJarFile.getPath());
log.info("[OmsJarContainer-{}] init container(name={},jarPath={}) successfully", containerId, name, localJarFile.getPath());
}
@Override

View File

@ -89,7 +89,7 @@ public class ProcessorRunnable implements Runnable {
ProcessResult processResult = broadcastProcessor.preProcess(taskContext);
spReq.setSuccess(processResult.isSuccess());
spReq.setMsg(suit(processResult.getMsg()));
}catch (Exception e) {
}catch (Throwable e) {
log.warn("[ProcessorRunnable-{}] broadcast task preProcess failed.", instanceId, e);
spReq.setSuccess(false);
spReq.setMsg(e.toString());
@ -138,7 +138,7 @@ public class ProcessorRunnable implements Runnable {
default:
lastResult = new ProcessResult(false, "IMPOSSIBLE OR BUG");
}
}catch (Exception e) {
}catch (Throwable e) {
lastResult = new ProcessResult(false, e.toString());
log.warn("[ProcessorRunnable-{}] execute last task(taskId={}) failed.", instanceId, taskId, e);
}
@ -155,7 +155,7 @@ public class ProcessorRunnable implements Runnable {
ProcessResult processResult;
try {
processResult = processor.process(taskContext);
}catch (Exception e) {
}catch (Throwable e) {
log.warn("[ProcessorRunnable-{}] task(id={},name={}) process failed.", instanceId, taskContext.getTaskId(), taskContext.getTaskName(), e);
processResult = new ProcessResult(false, e.toString());
}
@ -184,7 +184,7 @@ public class ProcessorRunnable implements Runnable {
try {
innerRun();
}catch (InterruptedException ignore) {
}catch (Exception e) {
}catch (Throwable e) {
log.error("[ProcessorRunnable-{}] execute failed, please fix this bug @tjq!", task.getInstanceId(), e);
}finally {
ThreadLocalStore.clear();

View File

@ -86,7 +86,7 @@ public class ProcessorTracker {
initProcessor();
log.info("[ProcessorTracker-{}] ProcessorTracker was successfully created!", instanceId);
}catch (Exception e) {
}catch (Throwable e) {
log.warn("[ProcessorTracker-{}] create ProcessorTracker failed, all tasks submitted here will fail.", instanceId, e);
lethal = true;
lethalReason = e.toString();
@ -263,6 +263,8 @@ public class ProcessorTracker {
break;
case JAVA_CONTAINER:
String[] split = processorInfo.split("#");
log.info("[ProcessorRunnable-{}] try to load processor({}) in container({})", instanceId, split[1], split[0]);
omsContainer = OmsContainerFactory.getContainer(Long.valueOf(split[0]));
if (omsContainer != null) {
processor = omsContainer.getProcessor(split[1]);

View File

@ -162,7 +162,6 @@ public abstract class TaskTracker {
// 此时本次请求已经有效先写入最新的时间
taskId2LastReportTime.put(taskId, reportTime);
log.debug("[TaskTracker-{}] task({}) receive new status: {}", instanceId, taskId, newStatus);
// 处理失败的情况
int configTaskRetryNum = instanceInfo.getTaskRetryNum();