in manager/dm-agent/src/main/java/org/apache/doris/manager/agent/service/HeartBeatService.java [182:214]
private HeartBeatContext addAndFilterContextTask(HeartBeatContext ctx) {
HeartBeatContext filterCtx = new HeartBeatContext();
List<HeartBeatEventInfo> newEvents = new ArrayList<>();
List<InstanceInfo> newInsInfos = new ArrayList<>();
if (ctx.getEvents() != null) {
for (HeartBeatEventInfo eventInfo : ctx.getEvents()) {
if (events.containsKey(eventInfo.getEventId())) {
log.warn("heartbeat event {} is running", eventInfo.getEventId());
continue;
}
log.info("add event {}", eventInfo.getEventId());
events.put(eventInfo.getEventId(), eventInfo);
newEvents.add(eventInfo);
}
}
if (ctx.getInstanceInfos() != null) {
for (InstanceInfo ins : ctx.getInstanceInfos()) {
if (instanceInfos.containsKey(ins.getInstanceId())) {
log.warn("module {} instance {} check task is running", ins.getModuleName(), ins.getInstanceId());
continue;
}
log.info("add {} instance {} check task", ins.getModuleName(), ins.getInstanceId());
instanceInfos.put(ins.getInstanceId(), ins);
newInsInfos.add(ins);
}
}
filterCtx.setEvents(newEvents);
filterCtx.setInstanceInfos(newInsInfos);
return filterCtx;
}