2024-11-20 14:52:55.566 [node-mgr-task-12] INFO ChainService(ChainService.java:518) - Run task:[DeployType:0, isChainRunning:false]
2024-11-20 14:52:55.611 [node-mgr-task-12] ERROR FrontRestTools(FrontRestTools.java:382) - fail restTemplateExchange. frontList is empty groupId:3
2024-11-20 14:52:55.611 [node-mgr-task-12] ERROR NodeStatusMonitorTask(NodeStatusMonitorTask.java:103) - in checkNodeStatusByGroup checkAndUpdateNodeStatus error: []
com.webank.webase.node.mgr.base.exception.NodeMgrException: all front of group: 3 is stopped
at com.webank.webase.node.mgr.front.frontinterface.FrontRestTools.restTemplateExchange(FrontRestTools.java:383) ~[main/:?]
at com.webank.webase.node.mgr.front.frontinterface.FrontRestTools.getForEntity(FrontRestTools.java:343) ~[main/:?]
at com.webank.webase.node.mgr.front.frontinterface.FrontRestTools$$FastClassBySpringCGLIB$$a5c6faad.invoke(<generated>) ~[main/:?]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.26.jar:5.3.26]
at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) ~[spring-aop-5.3.26.jar:5.3.26]
at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) ~[spring-aop-5.3.26.jar:5.3.26]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) ~[spring-aop-5.3.26.jar:5.3.26]
at com.webank.webase.node.mgr.front.frontinterface.FrontRestTools$$EnhancerBySpringCGLIB$$e50c39d8.getForEntity(<generated>) ~[main/:?]
at com.webank.webase.node.mgr.front.frontinterface.FrontInterfaceService.getConsensusStatus(FrontInterfaceService.java:411) ~[main/:?]
at com.webank.webase.node.mgr.node.NodeService.getPeerOfConsensusStatus(NodeService.java:327) ~[main/:?]
at com.webank.webase.node.mgr.node.NodeService.checkAndUpdateNodeStatus(NodeService.java:215) ~[main/:?]
at com.webank.webase.node.mgr.node.NodeService$$FastClassBySpringCGLIB$$2a65b731.invoke(<generated>) ~[main/:?]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.26.jar:5.3.26]
at org.springframework.aop.framework.CglibAopProxy.invokeMethod(CglibAopProxy.java:386) ~[spring-aop-5.3.26.jar:5.3.26]
at org.springframework.aop.framework.CglibAopProxy.access$000(CglibAopProxy.java:85) ~[spring-aop-5.3.26.jar:5.3.26]
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:704) ~[spring-aop-5.3.26.jar:5.3.26]
at com.webank.webase.node.mgr.node.NodeService$$EnhancerBySpringCGLIB$$d27355a2.checkAndUpdateNodeStatus(<generated>) ~[main/:?]
at com.webank.webase.node.mgr.alert.task.NodeStatusMonitorTask.checkNodeStatusByGroup(NodeStatusMonitorTask.java:101) ~[main/:?]
at com.webank.webase.node.mgr.alert.task.NodeStatusMonitorTask.lambda$checkAllNodeStatusForAlert$0(NodeStatusMonitorTask.java:88) ~[main/:?]
public class FrontGroupMapCache {
@Transactional(isolation= Isolation.READ_COMMITTED)
public List<FrontGroup> getSealerOrObserverMap() {
MapListParam param = new MapListParam();
param.setType(ConsensusType.SEALER.getValue());
List<FrontGroup> targetMap = null;
targetMap = mapService.getList(param);
log.debug("get sealer map:{} param:{}", targetMap, param);
if (targetMap == null || targetMap.isEmpty()) {
param.setType(ConsensusType.OBSERVER.getValue());
targetMap = mapService.getList(param);
log.debug("get observer map:{} param:{}", targetMap, param);
}
log.debug("getSealerOrObserverMap targetMap:{}", targetMap);
return targetMap;
}
}
背景与现象:
问题:
定位到的问题,以及初步原因分析: