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/inlong.git
The following commit(s) were added to refs/heads/master by this push: new 8d5cc73fa [INLONG-5828][Agent] Fix to merge data error when collect nonstandard log of k8s (#5829) 8d5cc73fa is described below commit 8d5cc73fa100accabc0b9f1f85f7f9418674344b Author: ganfengtan <ganfeng...@users.noreply.github.com> AuthorDate: Fri Sep 9 14:20:07 2022 +0800 [INLONG-5828][Agent] Fix to merge data error when collect nonstandard log of k8s (#5829) --- .../inlong/agent/plugin/sources/reader/file/MonitorTextFile.java | 3 ++- .../java/org/apache/inlong/agent/plugin/utils/FileDataUtils.java | 2 +- .../java/org/apache/inlong/agent/plugin/utils/MetaDataUtils.java | 5 ++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/sources/reader/file/MonitorTextFile.java b/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/sources/reader/file/MonitorTextFile.java index 4a2644dba..dfad65450 100644 --- a/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/sources/reader/file/MonitorTextFile.java +++ b/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/sources/reader/file/MonitorTextFile.java @@ -133,8 +133,9 @@ public final class MonitorTextFile { this.fileReaderOperator.position = 0; } this.textFileReader.getData(); - this.fileReaderOperator.iterator = fileReaderOperator.stream.iterator(); + this.textFileReader.mergeData(this.fileReaderOperator); this.attributesBefore = attributesAfter; + this.fileReaderOperator.iterator = fileReaderOperator.stream.iterator(); } } } diff --git a/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/utils/FileDataUtils.java b/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/utils/FileDataUtils.java index 923c0dcc4..381ed6745 100644 --- a/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/utils/FileDataUtils.java +++ b/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/utils/FileDataUtils.java @@ -45,7 +45,7 @@ public class FileDataUtils { if (!isJson) { return log; } - Type type = new TypeToken<HashMap<Integer, String>>() { + Type type = new TypeToken<HashMap<String, String>>() { }.getType(); Map<String, String> logJson = GSON.fromJson(log, type); return logJson.getOrDefault(KUBERNETES_LOG, log); diff --git a/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/utils/MetaDataUtils.java b/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/utils/MetaDataUtils.java index b3e76d201..e3a00ee9d 100644 --- a/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/utils/MetaDataUtils.java +++ b/inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/utils/MetaDataUtils.java @@ -46,6 +46,9 @@ public class MetaDataUtils { private static final String LOG_MARK = ".log"; + // standard log path for k8s + private static final String STANDARD_OUT = "/var/log/containers"; + /** * standard log for k8s * @@ -53,7 +56,7 @@ public class MetaDataUtils { */ public static Map<String, String> getLogInfo(String fileName) { Map<String, String> podInf = new HashMap<>(); - if (!StringUtils.isNoneBlank(fileName) && fileName.contains(CommonConstants.DELIMITER_UNDERLINE)) { + if (StringUtils.isBlank(fileName) || !fileName.contains(STANDARD_OUT)) { return podInf; } // file name example: /var/log/containers/<pod_name>_<namespace>_<container_name>-<continer_id>.log