private HeartBeatContext addAndFilterContextTask()

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;
    }