You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by lu...@apache.org on 2026/06/25 09:46:49 UTC

(inlong) branch master updated: [INLONG-12139][Sort] SortConfigUtil.checkUpdate throws NPE when DataFlowConfig.version is null, causing SortConfig reload to permanently stall (#12140)

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

luchunliang 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 4436810d10 [INLONG-12139][Sort] SortConfigUtil.checkUpdate throws NPE when DataFlowConfig.version is null, causing SortConfig reload to permanently stall (#12140)
4436810d10 is described below

commit 4436810d10bdb1e8244cc2b4557632ad6e6cf20a
Author: ChunLiang Lu <lu...@apache.org>
AuthorDate: Thu Jun 25 17:46:44 2026 +0800

    [INLONG-12139][Sort] SortConfigUtil.checkUpdate throws NPE when DataFlowConfig.version is null, causing SortConfig reload to permanently stall (#12140)
    
    * [INLONG-12139][Sort] SortConfigUtil.checkUpdate throws NPE when DataFlowConfig.version is null, causing SortConfig reload to permanently stall
    
    * [INLONG-12139][Sort] SortConfigUtil.checkUpdate throws NPE when DataFlowConfig.version is null, causing SortConfig reload to permanently stall
---
 .../main/java/org/apache/inlong/common/metric/MetricObserver.java   | 2 +-
 .../src/main/java/org/apache/inlong/common/util/SortConfigUtil.java | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/inlong-common/src/main/java/org/apache/inlong/common/metric/MetricObserver.java b/inlong-common/src/main/java/org/apache/inlong/common/metric/MetricObserver.java
index f2651781b4..9da0651800 100644
--- a/inlong-common/src/main/java/org/apache/inlong/common/metric/MetricObserver.java
+++ b/inlong-common/src/main/java/org/apache/inlong/common/metric/MetricObserver.java
@@ -101,7 +101,7 @@ public class MetricObserver {
                 listenerList.add(listener);
             } catch (Throwable t) {
                 LOG.error("Fail to init MetricListener:{},error:{}",
-                        listenerType, t.getMessage());
+                        listenerType, t.getMessage(), t);
             }
         }
         return listenerList;
diff --git a/inlong-common/src/main/java/org/apache/inlong/common/util/SortConfigUtil.java b/inlong-common/src/main/java/org/apache/inlong/common/util/SortConfigUtil.java
index 9e99a17df5..f37520ef9c 100644
--- a/inlong-common/src/main/java/org/apache/inlong/common/util/SortConfigUtil.java
+++ b/inlong-common/src/main/java/org/apache/inlong/common/util/SortConfigUtil.java
@@ -82,7 +82,8 @@ public class SortConfigUtil {
                 .map(key -> {
                     T lastElement = lastMap.get(key);
                     T currentElement = currentMap.get(key);
-                    Comparator<T> comparator = Comparator.comparing(versionExtractor);
+                    Comparator<T> comparator = Comparator.comparing(versionExtractor,
+                            Comparator.nullsFirst(Comparator.naturalOrder()));
                     return comparator.compare(lastElement, currentElement) < 0 ? currentElement : null;
                 })
                 .filter(Objects::nonNull)
@@ -138,7 +139,8 @@ public class SortConfigUtil {
                 .map(key -> {
                     T lastElement = lastMap.get(key);
                     T currentElement = currentMap.get(key);
-                    Comparator<T> comparator = Comparator.comparing(versionExtractor);
+                    Comparator<T> comparator = Comparator.comparing(versionExtractor,
+                            Comparator.nullsFirst(Comparator.naturalOrder()));
                     return comparator.compare(lastElement, currentElement) >= 0 ? lastElement : null;
                 })
                 .filter(Objects::nonNull)