Search in sources :

Example 1 with InlongGroupContext

use of org.apache.inlong.manager.client.api.InlongGroupContext in project incubator-inlong by apache.

the class InlongGroupImpl method generateSnapshot.

private InlongGroupContext generateSnapshot() {
    // Fetch current group
    InlongGroupResponse groupResponse = managerClient.getGroupInfo(groupContext.getGroupId());
    InlongGroupInfo currentGroupInfo = CommonBeanUtils.copyProperties(groupResponse, InlongGroupInfo::new);
    groupContext.setGroupInfo(currentGroupInfo);
    String inlongGroupId = currentGroupInfo.getInlongGroupId();
    // Fetch stream in group
    List<InlongStream> dataStreams = fetchDataStreams(inlongGroupId);
    if (CollectionUtils.isNotEmpty(dataStreams)) {
        dataStreams.forEach(dataStream -> groupContext.setStream(dataStream));
    }
    // Create group context
    InlongGroupContext inlongGroupContext = new InlongGroupContext(groupContext, groupConf);
    // Fetch group logs
    List<EventLogView> logViews = managerClient.getInlongGroupError(inlongGroupId);
    if (CollectionUtils.isNotEmpty(logViews)) {
        Map<String, List<String>> errMsgs = Maps.newHashMap();
        Map<String, List<String>> groupLogs = Maps.newHashMap();
        logViews.stream().filter(x -> StringUtils.isNotEmpty(x.getElementName())).forEach(eventLogView -> {
            String taskName = eventLogView.getElementName();
            if (StringUtils.isNotEmpty(eventLogView.getException())) {
                errMsgs.computeIfAbsent(taskName, Lists::newArrayList).add(eventLogView.getException());
            }
            if (StringUtils.isNotEmpty(eventLogView.getRemark())) {
                groupLogs.computeIfAbsent(taskName, Lists::newArrayList).add(eventLogView.getRemark());
            }
        });
        inlongGroupContext.setErrMsgs(errMsgs);
        inlongGroupContext.setGroupLogs(groupLogs);
    }
    // Fetch stream logs
    Map<String, InlongStream> streams = inlongGroupContext.getInlongStreamMap();
    streams.keySet().stream().forEach(streamName -> {
        String inlongStreamId = "b_" + streamName;
        List<InlongStreamConfigLogListResponse> logList = managerClient.getStreamLogs(inlongGroupId, inlongStreamId);
        if (CollectionUtils.isNotEmpty(logList)) {
            Map<String, List<String>> streamLogs = Maps.newHashMap();
            logList.stream().filter(x -> StringUtils.isNotEmpty(x.getComponentName())).forEach(streamLog -> {
                String componentName = streamLog.getComponentName();
                String log = GsonUtil.toJson(streamLog);
                streamLogs.computeIfAbsent(componentName, Lists::newArrayList).add(log);
            });
            inlongGroupContext.getStreamLogs().put(streamName, streamLogs);
        }
    });
    return inlongGroupContext;
}
Also used : InlongParser(org.apache.inlong.manager.client.api.util.InlongParser) GsonUtil(org.apache.inlong.manager.client.api.util.GsonUtil) AssertUtil(org.apache.inlong.manager.client.api.util.AssertUtil) ProcessStatus(org.apache.inlong.manager.common.enums.ProcessStatus) InlongGroupInfo(org.apache.inlong.manager.common.pojo.group.InlongGroupInfo) TaskResponse(org.apache.inlong.manager.common.pojo.workflow.TaskResponse) StringUtils(org.apache.commons.lang3.StringUtils) InlongGroupContext(org.apache.inlong.manager.client.api.InlongGroupContext) Lists(com.google.common.collect.Lists) Pair(org.apache.commons.lang3.tuple.Pair) CollectionUtils(org.apache.commons.collections.CollectionUtils) InlongStream(org.apache.inlong.manager.client.api.InlongStream) Map(java.util.Map) InnerInlongManagerClient(org.apache.inlong.manager.client.api.inner.InnerInlongManagerClient) ProcessResponse(org.apache.inlong.manager.common.pojo.workflow.ProcessResponse) InlongStreamBuilder(org.apache.inlong.manager.client.api.InlongStreamBuilder) GroupState(org.apache.inlong.manager.common.enums.GroupState) InlongStreamApproveRequest(org.apache.inlong.manager.common.pojo.stream.InlongStreamApproveRequest) InlongStreamConfigLogListResponse(org.apache.inlong.manager.common.pojo.stream.InlongStreamConfigLogListResponse) InlongGroup(org.apache.inlong.manager.client.api.InlongGroup) InlongGroupRequest(org.apache.inlong.manager.common.pojo.group.InlongGroupRequest) Maps(com.google.common.collect.Maps) Collectors(java.util.stream.Collectors) InlongGroupTransfer(org.apache.inlong.manager.client.api.util.InlongGroupTransfer) EventLogView(org.apache.inlong.manager.common.pojo.workflow.EventLogView) InlongGroupResponse(org.apache.inlong.manager.common.pojo.group.InlongGroupResponse) List(java.util.List) InnerGroupContext(org.apache.inlong.manager.client.api.inner.InnerGroupContext) InlongGroupConf(org.apache.inlong.manager.client.api.InlongGroupConf) InlongStreamConf(org.apache.inlong.manager.client.api.InlongStreamConf) CommonBeanUtils(org.apache.inlong.manager.common.util.CommonBeanUtils) FullStreamResponse(org.apache.inlong.manager.common.pojo.stream.FullStreamResponse) WorkflowResult(org.apache.inlong.manager.common.pojo.workflow.WorkflowResult) InlongGroupApproveRequest(org.apache.inlong.manager.common.pojo.group.InlongGroupApproveRequest) InlongGroupState(org.apache.inlong.manager.client.api.InlongGroupContext.InlongGroupState) EventLogView(org.apache.inlong.manager.common.pojo.workflow.EventLogView) InlongStreamConfigLogListResponse(org.apache.inlong.manager.common.pojo.stream.InlongStreamConfigLogListResponse) InlongGroupContext(org.apache.inlong.manager.client.api.InlongGroupContext) InlongGroupInfo(org.apache.inlong.manager.common.pojo.group.InlongGroupInfo) InlongStream(org.apache.inlong.manager.client.api.InlongStream) List(java.util.List) InlongGroupResponse(org.apache.inlong.manager.common.pojo.group.InlongGroupResponse)

Aggregations

Lists (com.google.common.collect.Lists)1 Maps (com.google.common.collect.Maps)1 List (java.util.List)1 Map (java.util.Map)1 Collectors (java.util.stream.Collectors)1 CollectionUtils (org.apache.commons.collections.CollectionUtils)1 StringUtils (org.apache.commons.lang3.StringUtils)1 Pair (org.apache.commons.lang3.tuple.Pair)1 InlongGroup (org.apache.inlong.manager.client.api.InlongGroup)1 InlongGroupConf (org.apache.inlong.manager.client.api.InlongGroupConf)1 InlongGroupContext (org.apache.inlong.manager.client.api.InlongGroupContext)1 InlongGroupState (org.apache.inlong.manager.client.api.InlongGroupContext.InlongGroupState)1 InlongStream (org.apache.inlong.manager.client.api.InlongStream)1 InlongStreamBuilder (org.apache.inlong.manager.client.api.InlongStreamBuilder)1 InlongStreamConf (org.apache.inlong.manager.client.api.InlongStreamConf)1 InnerGroupContext (org.apache.inlong.manager.client.api.inner.InnerGroupContext)1 InnerInlongManagerClient (org.apache.inlong.manager.client.api.inner.InnerInlongManagerClient)1 AssertUtil (org.apache.inlong.manager.client.api.util.AssertUtil)1 GsonUtil (org.apache.inlong.manager.client.api.util.GsonUtil)1 InlongGroupTransfer (org.apache.inlong.manager.client.api.util.InlongGroupTransfer)1