You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by he...@apache.org on 2022/03/07 12:24:32 UTC
[incubator-inlong] branch master updated: [INLONG-2982][Manager] Add group logs in manager client (#2983)
This is an automated email from the ASF dual-hosted git repository.
healchow 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 55e3714 [INLONG-2982][Manager] Add group logs in manager client (#2983)
55e3714 is described below
commit 55e3714512f709e9621d409f93a01e5fe7bae5da
Author: kipshi <48...@users.noreply.github.com>
AuthorDate: Mon Mar 7 20:24:27 2022 +0800
[INLONG-2982][Manager] Add group logs in manager client (#2983)
---
.../manager/client/api/InlongGroupContext.java | 8 +++++++-
.../manager/client/api/impl/InlongGroupImpl.java | 13 +++++++++++--
.../manager/client/api/impl/InlongStreamImpl.java | 21 ++++++++++++---------
.../manager/common/pojo/workflow/EventLogView.java | 3 +++
4 files changed, 33 insertions(+), 12 deletions(-)
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroupContext.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroupContext.java
index 2d2865d..dd788f8 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroupContext.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/InlongGroupContext.java
@@ -45,7 +45,12 @@ public class InlongGroupContext implements Serializable {
private Map<String, String> extensions;
/**
- * Error message for Inlong group, taskName->logs.
+ * Logs for Inlong group, taskName->logs.
+ */
+ private Map<String, List<String>> groupLogs;
+
+ /**
+ * Error message for Inlong group, taskName->exceptionMsg.
*/
private Map<String, List<String>> errMsgs;
@@ -64,6 +69,7 @@ public class InlongGroupContext implements Serializable {
this.groupConf = streamGroupConf;
this.inlongStreamMap = groupContext.getStreamMap();
this.errMsgs = Maps.newHashMap();
+ this.groupLogs = Maps.newHashMap();
this.state = InlongGroupState.parseByBizStatus(groupInfo.getStatus());
this.extensions = Maps.newHashMap();
List<InlongGroupExtInfo> extInfos = groupInfo.getExtList();
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongGroupImpl.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongGroupImpl.java
index f5d5db3..58cf865 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongGroupImpl.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongGroupImpl.java
@@ -200,17 +200,26 @@ public class InlongGroupImpl implements InlongGroup {
}
//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 -> null != x.getElementName() && null != x.getException())
+ .filter(x -> StringUtils.isNotEmpty(x.getElementName()))
.forEach(eventLogView -> {
String taskName = eventLogView.getElementName();
- errMsgs.computeIfAbsent(taskName, Lists::newArrayList).add(eventLogView.getException());
+ 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;
diff --git a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongStreamImpl.java b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongStreamImpl.java
index 7727e69..ce89b8c 100644
--- a/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongStreamImpl.java
+++ b/inlong-manager/manager-client/src/main/java/org/apache/inlong/manager/client/api/impl/InlongStreamImpl.java
@@ -25,6 +25,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.compress.utils.Lists;
import org.apache.inlong.manager.client.api.InlongStream;
import org.apache.inlong.manager.client.api.StreamField;
import org.apache.inlong.manager.client.api.StreamField.FieldType;
@@ -50,20 +51,22 @@ public class InlongStreamImpl extends InlongStream {
private Map<String, StreamSink> streamSinks = Maps.newHashMap();
- private List<StreamField> streamFields;
+ private List<StreamField> streamFields = Lists.newArrayList();
public InlongStreamImpl(FullStreamResponse fullStreamResponse) {
InlongStreamInfo streamInfo = fullStreamResponse.getStreamInfo();
this.name = streamInfo.getName();
List<InlongStreamFieldInfo> streamFieldInfos = streamInfo.getFieldList();
- this.streamFields = streamFieldInfos.stream().map(streamFieldInfo -> {
- return new StreamField(streamFieldInfo.getId(),
- FieldType.forName(streamFieldInfo.getFieldType()),
- streamFieldInfo.getFieldName(),
- streamFieldInfo.getFieldComment(),
- streamFieldInfo.getFieldValue()
- );
- }).collect(Collectors.toList());
+ if (CollectionUtils.isNotEmpty(streamFieldInfos)) {
+ this.streamFields = streamFieldInfos.stream().map(streamFieldInfo -> {
+ return new StreamField(streamFieldInfo.getId(),
+ FieldType.forName(streamFieldInfo.getFieldType()),
+ streamFieldInfo.getFieldName(),
+ streamFieldInfo.getFieldComment(),
+ streamFieldInfo.getFieldValue()
+ );
+ }).collect(Collectors.toList());
+ }
List<SinkResponse> sinkList = fullStreamResponse.getSinkInfo();
if (CollectionUtils.isNotEmpty(sinkList)) {
this.streamSinks = sinkList.stream()
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/EventLogView.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/EventLogView.java
index 7ec0b6d..1e58f50 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/EventLogView.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/workflow/EventLogView.java
@@ -84,6 +84,9 @@ public class EventLogView {
@ApiModelProperty("End time")
private Date endTime;
+ @ApiModelProperty("Remark")
+ private String remark;
+
@ApiModelProperty("Exception message")
private String exception;