You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2022/02/26 09:40:21 UTC

[incubator-inlong] branch master updated: [INLONG-2743][Manager] Support getting inlong workflow error for manager-client module (#2744)

This is an automated email from the ASF dual-hosted git repository.

dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new ec322ab  [INLONG-2743][Manager] Support getting inlong workflow error for manager-client module (#2744)
ec322ab is described below

commit ec322ab458d1511e444671c82ac8f378499ea73b
Author: Liao Rui <li...@users.noreply.github.com>
AuthorDate: Sat Feb 26 17:40:15 2022 +0800

    [INLONG-2743][Manager] Support getting inlong workflow error for manager-client module (#2744)
    
    Co-authored-by: ryanrliao <ry...@tencent.com>
---
 .../client/api/inner/InnerInlongManagerClient.java | 32 ++++++++++++++++++++++
 .../manager/client/api/util/InlongParser.java      | 10 +++++++
 2 files changed, 42 insertions(+)

diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerInlongManagerClient.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerInlongManagerClient.java
index a98af58..870adcc 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerInlongManagerClient.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/inner/InnerInlongManagerClient.java
@@ -45,6 +45,7 @@ import org.apache.inlong.manager.common.pojo.sink.SinkRequest;
 import org.apache.inlong.manager.common.pojo.stream.FullStreamResponse;
 import org.apache.inlong.manager.common.pojo.stream.InlongStreamApproveRequest;
 import org.apache.inlong.manager.common.pojo.stream.InlongStreamInfo;
+import org.apache.inlong.manager.common.pojo.workflow.EventLogView;
 import org.apache.inlong.manager.common.pojo.workflow.WorkflowResult;
 
 /**
@@ -491,6 +492,37 @@ public class InnerInlongManagerClient {
         }
     }
 
+    /**
+     * get inlong group error messages
+     *
+     * @param inlongGroupId
+     * @return
+     */
+    public List<EventLogView> getInlongGroupError(String inlongGroupId) {
+        final String path = HTTP_PATH + "/workflow/event/list";
+        String url = formatUrl(path);
+        url = url + "&inlongGroupId=" + inlongGroupId + "&status=-1";
+        Request request = new Request.Builder()
+                .get()
+                .url(url)
+                .build();
+
+        Call call = httpClient.newCall(request);
+        try {
+            Response response = call.execute();
+            assert response.body() != null;
+            String body = response.body().string();
+            AssertUtil.isTrue(response.isSuccessful(), String.format("Inlong request failed: %s", body));
+            org.apache.inlong.manager.common.beans.Response responseBody = InlongParser.parseResponse(body);
+            AssertUtil.isTrue(responseBody.getErrMsg() == null,
+                    String.format("Inlong request failed: %s", responseBody.getErrMsg()));
+            PageInfo<EventLogView> pageInfo = InlongParser.parseEventLogViewList(responseBody);
+            return pageInfo.getList();
+        } catch (Exception e) {
+            throw new RuntimeException(String.format("Get inlong group error messages failed: %s", e.getMessage()), e);
+        }
+    }
+
     private String formatUrl(String path) {
         return String.format("http://%s:%s/%s?username=%s&password=%s", host, port, path, uname, passwd);
     }
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/InlongParser.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/InlongParser.java
index fce1e35..cc78c9d 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/InlongParser.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/util/InlongParser.java
@@ -31,6 +31,7 @@ import org.apache.inlong.manager.common.pojo.sink.SinkListResponse;
 import org.apache.inlong.manager.common.pojo.stream.FullStreamResponse;
 import org.apache.inlong.manager.common.pojo.stream.InlongStreamApproveRequest;
 import org.apache.inlong.manager.common.pojo.stream.InlongStreamInfo;
+import org.apache.inlong.manager.common.pojo.workflow.EventLogView;
 import org.apache.inlong.manager.common.pojo.workflow.WorkflowResult;
 
 /**
@@ -105,4 +106,13 @@ public class InlongParser {
                 }.getType());
         return Pair.of(groupApproveInfo, streamApproveList);
     }
+
+    public static PageInfo<EventLogView> parseEventLogViewList(Response response) {
+        Object data = response.getData();
+        String pageInfoJson = GsonUtil.toJson(data);
+        PageInfo<EventLogView> pageInfo = GsonUtil.fromJson(pageInfoJson,
+                new TypeToken<PageInfo<EventLogView>>() {
+                }.getType());
+        return pageInfo;
+    }
 }