Checklist
🐞 问题详细描述
问题代码
agent-core-java-main/src/main/java/com/openjiuwen/core/graph/pregel/PregelLoop.java:90-101
public boolean runStep() throws Exception {
try {
return doRunStep();
} catch (CancellationException e) {
throw e;
} catch (Exception e) { // ← GraphInterrupt 落到这里
logger.error("Failed to run graph super-step[{}], ns={}, sessionId={}",
step, config.getNs(), config.getSessionId(), e); // ← 打印 ERROR
saveStateOnError(e);
throw e; // ← 然后重新抛出,被 Pregel.run() 以 INFO 接住
}
}
GraphInterrupt 是框架用来实现断点/人机交互的正常控制流信号,不是真正的错误,但这里没有单独 catch,直接被 catch (Exception e) 当成错误打印了。Pregel.run() 后面又用 INFO
打了一遍,所以你会看到同一次断点产生两条日志:先 ERROR 后 INFO。
Logger 名字是 graph(Loggers.GRAPH = LogManager.getLogger("graph"))。
详细的环境信息描述
这个是core的功能bug,所有环境都会出现
其他辅助信息
版本信息
感谢您的贡献 🎉!
Checklist
🐞 问题详细描述
问题代码
agent-core-java-main/src/main/java/com/openjiuwen/core/graph/pregel/PregelLoop.java:90-101
public boolean runStep() throws Exception {
try {
return doRunStep();
} catch (CancellationException e) {
throw e;
} catch (Exception e) { // ← GraphInterrupt 落到这里
logger.error("Failed to run graph super-step[{}], ns={}, sessionId={}",
step, config.getNs(), config.getSessionId(), e); // ← 打印 ERROR
saveStateOnError(e);
throw e; // ← 然后重新抛出,被 Pregel.run() 以 INFO 接住
}
}
GraphInterrupt 是框架用来实现断点/人机交互的正常控制流信号,不是真正的错误,但这里没有单独 catch,直接被 catch (Exception e) 当成错误打印了。Pregel.run() 后面又用 INFO
打了一遍,所以你会看到同一次断点产生两条日志:先 ERROR 后 INFO。
Logger 名字是 graph(Loggers.GRAPH = LogManager.getLogger("graph"))。
详细的环境信息描述
这个是core的功能bug,所有环境都会出现
其他辅助信息
版本信息
感谢您的贡献 🎉!