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/04/29 03:35:28 UTC

[incubator-inlong] branch master updated: [INLONG-4017][Manager] Fix DataType deserialized exception (#4018)

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 564167fda [INLONG-4017][Manager] Fix DataType deserialized exception (#4018)
564167fda is described below

commit 564167fdad2c289ebaa9c65753cc142a8789df82
Author: kipshi <48...@users.noreply.github.com>
AuthorDate: Fri Apr 29 11:35:23 2022 +0800

    [INLONG-4017][Manager] Fix DataType deserialized exception (#4018)
    
    * Fix DataType deserialized Exception
    
    * add warn log when build meta field
    
    * Add more info for warn log
    
    Co-authored-by: healchow <he...@gmail.com>
---
 .../java/org/apache/inlong/manager/common/enums/FieldType.java     | 2 +-
 .../apache/inlong/manager/service/sort/util/FieldInfoUtils.java    | 7 ++++++-
 .../inlong/manager/service/sort/util/FieldRelationShipUtils.java   | 4 ++--
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/FieldType.java b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/FieldType.java
index 60433ca35..c67df3f9a 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/FieldType.java
+++ b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/enums/FieldType.java
@@ -42,7 +42,7 @@ public enum FieldType {
 
     @Override
     public String toString() {
-        return name().toLowerCase(Locale.ROOT);
+        return name();
     }
 
     public static FieldType forName(String name) {
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/sort/util/FieldInfoUtils.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/sort/util/FieldInfoUtils.java
index eb5ead03a..e6939d9e0 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/sort/util/FieldInfoUtils.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/sort/util/FieldInfoUtils.java
@@ -17,6 +17,7 @@
 
 package org.apache.inlong.manager.service.sort.util;
 
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.inlong.manager.common.enums.FieldType;
 import org.apache.inlong.manager.common.enums.MetaFieldType;
@@ -51,6 +52,7 @@ import java.util.Map;
 /**
  * Util for sort field info.
  */
+@Slf4j
 public class FieldInfoUtils {
 
     /**
@@ -85,7 +87,7 @@ public class FieldInfoUtils {
 
     public static FieldInfo parseStreamField(StreamField streamField) {
         boolean isBuiltIn = streamField.getIsMetaField() == 1;
-        FieldInfo fieldInfo = getFieldInfo(streamField.getFieldName(), streamField.getFieldType().toString(), isBuiltIn,
+        FieldInfo fieldInfo = getFieldInfo(streamField.getFieldName(), streamField.getFieldType().name(), isBuiltIn,
                 streamField.getFieldFormat());
         fieldInfo.setNodeId(streamField.getOriginNodeName());
         return fieldInfo;
@@ -134,6 +136,9 @@ public class FieldInfoUtils {
         if (isBuiltin && builtInField != null) {
             fieldInfo = new BuiltInFieldInfo(fieldName, formatInfo, builtInField);
         } else {
+            if (isBuiltin) {
+                log.warn("Unsupported metadata fieldName={} as the builtInField is null", fieldName);
+            }
             fieldInfo = new FieldInfo(fieldName, formatInfo);
         }
         return fieldInfo;
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/sort/util/FieldRelationShipUtils.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/sort/util/FieldRelationShipUtils.java
index 10a9bd361..2e344dcca 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/sort/util/FieldRelationShipUtils.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/sort/util/FieldRelationShipUtils.java
@@ -94,7 +94,7 @@ public class FieldRelationShipUtils {
                     return list1;
                 });
         List<StreamField> filteredFieldList = fieldList.stream()
-                .filter(streamFieldInfo -> splitFields.contains(streamFieldInfo.getFieldName()))
+                .filter(streamFieldInfo -> !splitFields.contains(streamFieldInfo.getFieldName()))
                 .collect(Collectors.toList());
         fieldRelationShips.addAll(createFieldRelationShips(filteredFieldList, transformName));
         return fieldRelationShips;
@@ -110,7 +110,7 @@ public class FieldRelationShipUtils {
                 .map(replaceRule -> parseReplaceRule(replaceRule, replaceFields, transformName, preNode))
                 .collect(Collectors.toList());
         List<StreamField> filteredFieldList = fieldList.stream()
-                .filter(streamFieldInfo -> replaceFields.contains(streamFieldInfo.getFieldName()))
+                .filter(streamFieldInfo -> !replaceFields.contains(streamFieldInfo.getFieldName()))
                 .collect(Collectors.toList());
         fieldRelationShips.addAll(createFieldRelationShips(filteredFieldList, transformName));
         return fieldRelationShips;