You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by pe...@apache.org on 2023/06/19 02:56:34 UTC

[linkis] branch dev-1.4.0 updated: fix Collectors.toList method occur duplicate key problem#4645 (#4646)

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

peacewong pushed a commit to branch dev-1.4.0
in repository https://gitbox.apache.org/repos/asf/linkis.git


The following commit(s) were added to refs/heads/dev-1.4.0 by this push:
     new 7a0ac0806 fix Collectors.toList method occur duplicate key problem#4645 (#4646)
7a0ac0806 is described below

commit 7a0ac0806185afa923a0d052e47972ba14722564
Author: CharlieYan <16...@users.noreply.github.com>
AuthorDate: Mon Jun 19 10:56:28 2023 +0800

    fix Collectors.toList method occur duplicate key problem#4645 (#4646)
---
 .../linkis/manager/am/manager/DefaultEngineNodeManager.java  |  6 +++++-
 .../linkis/manager/am/service/em/DefaultEMInfoService.java   |  4 +++-
 .../manager/am/service/engine/DefaultEngineInfoService.java  |  5 ++++-
 .../manager/am/service/impl/ECResourceInfoServiceImpl.java   |  6 +++++-
 .../linkis/manager/label/score/DefaultNodeLabelScorer.java   |  4 +++-
 .../manager/label/service/impl/DefaultNodeLabelService.java  |  6 +++++-
 .../org/apache/linkis/manager/rm/restful/RMMonitorRest.java  | 12 ++++++++++--
 .../persistence/impl/DefaultResourceLabelPersistence.java    |  4 +++-
 8 files changed, 38 insertions(+), 9 deletions(-)

diff --git a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/manager/DefaultEngineNodeManager.java b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/manager/DefaultEngineNodeManager.java
index 0d49165e4..b8b38eae3 100644
--- a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/manager/DefaultEngineNodeManager.java
+++ b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/manager/DefaultEngineNodeManager.java
@@ -89,7 +89,11 @@ public class DefaultEngineNodeManager implements EngineNodeManager {
     List<NodeMetrics> nodeMetrics = nodeMetricManagerPersistence.getNodeMetrics(nodes);
     Map<String, NodeMetrics> metricses =
         nodeMetrics.stream()
-            .collect(Collectors.toMap(m -> m.getServiceInstance().toString(), m -> m));
+            .collect(
+                Collectors.toMap(
+                    m -> m.getServiceInstance().toString(),
+                    m -> m,
+                    (existingValue, newValue) -> newValue));
 
     nodes.forEach(
         node -> {
diff --git a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/service/em/DefaultEMInfoService.java b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/service/em/DefaultEMInfoService.java
index 1f03d6360..800e15503 100644
--- a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/service/em/DefaultEMInfoService.java
+++ b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/service/em/DefaultEMInfoService.java
@@ -88,7 +88,9 @@ public class DefaultEMInfoService implements EMInfoService {
 
     Map<ServiceInstance, RMNode> resourceInfoMap =
         resourceInfo.getResourceInfo().stream()
-            .collect(Collectors.toMap(r -> r.getServiceInstance(), r -> r));
+            .collect(
+                Collectors.toMap(
+                    r -> r.getServiceInstance(), r -> r, (existingValue, newValue) -> newValue));
 
     return instances.stream()
         .map(emNodeManager::getEM)
diff --git a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/service/engine/DefaultEngineInfoService.java b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/service/engine/DefaultEngineInfoService.java
index 6b021d76a..5fb31615a 100644
--- a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/service/engine/DefaultEngineInfoService.java
+++ b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/service/engine/DefaultEngineInfoService.java
@@ -79,7 +79,10 @@ public class DefaultEngineInfoService extends AbstractEngineService implements E
     Map<String, RMNode> resourceInfoMap =
         rmNodes.stream()
             .collect(
-                Collectors.toMap(entry -> entry.getServiceInstance().toString(), entry -> entry));
+                Collectors.toMap(
+                    entry -> entry.getServiceInstance().toString(),
+                    entry -> entry,
+                    (existingValue, newValue) -> newValue));
     nodes.forEach(
         node -> {
           RMNode rmNode = resourceInfoMap.get(node.getServiceInstance().toString());
diff --git a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/service/impl/ECResourceInfoServiceImpl.java b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/service/impl/ECResourceInfoServiceImpl.java
index d44f0062a..edb399d67 100644
--- a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/service/impl/ECResourceInfoServiceImpl.java
+++ b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/service/impl/ECResourceInfoServiceImpl.java
@@ -118,7 +118,11 @@ public class ECResourceInfoServiceImpl implements ECResourceInfoService {
     // map k:v---> instanceName:PersistencerEcNodeInfo
     Map<String, PersistencerEcNodeInfo> persistencerEcNodeInfoMap =
         ecNodesInfo.stream()
-            .collect(Collectors.toMap(PersistencerEcNodeInfo::getInstance, item -> item));
+            .collect(
+                Collectors.toMap(
+                    PersistencerEcNodeInfo::getInstance,
+                    item -> item,
+                    (existingValue, newValue) -> newValue));
 
     List<String> instanceList =
         ecNodesInfo.stream().map(e -> e.getInstance()).collect(Collectors.toList());
diff --git a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/label/score/DefaultNodeLabelScorer.java b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/label/score/DefaultNodeLabelScorer.java
index 76218ee78..4a5657b80 100644
--- a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/label/score/DefaultNodeLabelScorer.java
+++ b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/label/score/DefaultNodeLabelScorer.java
@@ -190,7 +190,9 @@ public class DefaultNodeLabelScorer implements NodeLabelScorer {
                   labelScoreServiceInstance.setScore(scoreCalculate);
                   return Pair.of(labelScoreServiceInstance, outNodeDegree.get(node));
                 })
-            .collect(Collectors.toMap(Pair::getKey, Pair::getValue));
+            .collect(
+                Collectors.toMap(
+                    Pair::getKey, Pair::getValue, (existingValue, newValue) -> newValue));
 
     rawOutput
         .keySet()
diff --git a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/label/service/impl/DefaultNodeLabelService.java b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/label/service/impl/DefaultNodeLabelService.java
index ec8f808cb..4da2bebc6 100644
--- a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/label/service/impl/DefaultNodeLabelService.java
+++ b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/label/service/impl/DefaultNodeLabelService.java
@@ -208,7 +208,11 @@ public class DefaultNodeLabelService implements NodeLabelService {
     List<PersistenceLabel> labelList = labelManagerPersistence.getLabelByServiceInstance(instance);
     Map<String, PersistenceLabel> dbLabels =
         labelList.stream()
-            .collect(Collectors.toMap(PersistenceLabel::getLabelKey, Function.identity()));
+            .collect(
+                Collectors.toMap(
+                    PersistenceLabel::getLabelKey,
+                    Function.identity(),
+                    (existingValue, newValue) -> newValue));
 
     List<Integer> labelIds =
         labels.stream()
diff --git a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/rm/restful/RMMonitorRest.java b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/rm/restful/RMMonitorRest.java
index b685a5949..324995b39 100644
--- a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/rm/restful/RMMonitorRest.java
+++ b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/rm/restful/RMMonitorRest.java
@@ -736,7 +736,11 @@ public class RMMonitorRest {
     List<NodeMetrics> nodeMetrics = nodeMetricManagerPersistence.getNodeMetrics(nodes);
     Map<String, NodeMetrics> metrics =
         nodeMetrics.stream()
-            .collect(Collectors.toMap(m -> m.getServiceInstance().toString(), m -> m));
+            .collect(
+                Collectors.toMap(
+                    m -> m.getServiceInstance().toString(),
+                    m -> m,
+                    (existingValue, newValue) -> newValue));
 
     Map<String, Resource> configurationMap = new HashMap<>();
 
@@ -825,7 +829,11 @@ public class RMMonitorRest {
 
     Map<String, NodeMetrics> metrics =
         nodeMetricManagerPersistence.getNodeMetrics(engineNodesList).stream()
-            .collect(Collectors.toMap(m -> m.getServiceInstance().toString(), Function.identity()));
+            .collect(
+                Collectors.toMap(
+                    m -> m.getServiceInstance().toString(),
+                    Function.identity(),
+                    (existingValue, newValue) -> newValue));
 
     Map<String, List<Label<?>>> labelsMap =
         nodeLabelService.getNodeLabelsByInstanceList(
diff --git a/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/persistence/impl/DefaultResourceLabelPersistence.java b/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/persistence/impl/DefaultResourceLabelPersistence.java
index 5a010372e..abcdf6519 100644
--- a/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/persistence/impl/DefaultResourceLabelPersistence.java
+++ b/linkis-computation-governance/linkis-manager/linkis-manager-persistence/src/main/java/org/apache/linkis/manager/persistence/impl/DefaultResourceLabelPersistence.java
@@ -180,7 +180,9 @@ public class DefaultResourceLabelPersistence implements ResourceLabelPersistence
       Map<String, Map<String, String>> keyValueMaps =
           blankIds.stream()
               .map(PersistenceUtils::entryToTunple)
-              .collect(Collectors.toMap(Tunple::getKey, Tunple::getValue));
+              .collect(
+                  Collectors.toMap(
+                      Tunple::getKey, Tunple::getValue, (existingValue, newValue) -> newValue));
       // labelManagerMapper.batchDeleteResourceByLabelKeyValuesMaps(keyValueMaps);
     }
   }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org