You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@iotdb.apache.org by "CRZbulabula (via GitHub)" <gi...@apache.org> on 2024/03/17 07:34:33 UTC

[PR] [IOTDB-6308] CFD algorithm for multi-database [iotdb]

CRZbulabula opened a new pull request, #12184:
URL: https://github.com/apache/iotdb/pull/12184

   https://issues.apache.org/jira/browse/IOTDB-6308


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [IOTDB-6308] CFD algorithm for multi-database [iotdb]

Posted by "liyuheng55555 (via GitHub)" <gi...@apache.org>.
liyuheng55555 commented on code in PR #12184:
URL: https://github.com/apache/iotdb/pull/12184#discussion_r1544161090


##########
integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBRegionGroupLeaderDistributionIT2.java:
##########


Review Comment:
   As the integration framework requires, the name of IT class should end with "IT"



##########
integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBRegionGroupLeaderDistributionIT2.java:
##########


Review Comment:
   As the integration framework requires, the name of IT class should end with "IT"



##########
integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBRegionGroupLeaderDistributionIT.java:
##########
@@ -279,18 +273,17 @@ public void testMCFLeaderDistributionWithReadOnlyStatus() throws Exception {
             .forEach(
                 regionInfo -> {
                   if (RegionRoleType.Leader.getRoleType().equals(regionInfo.getRoleType())) {
-                    leaderCounter
-                        .computeIfAbsent(regionInfo.getDataNodeId(), empty -> new AtomicInteger(0))
-                        .getAndIncrement();
+                    leaderCounter.merge(regionInfo.getDataNodeId(), 1, Integer::sum);
                   }
                 });
 
         // All DataNodes have Region-leader
-        isDistributionBalanced = leaderCounter.size() == testDataNodeNum;
+        isDistributionBalanced = leaderCounter.size() == TEST_DATA_NODE_NUM;
         // Each DataNode has exactly 1 Region-leader
-        for (AtomicInteger leaderCount : leaderCounter.values()) {
-          if (leaderCount.get() != 1) {
+        for (Integer leaderCount : leaderCounter.values()) {
+          if (leaderCount != databaseNum / TEST_DATA_NODE_NUM) {
             isDistributionBalanced = false;
+            break;

Review Comment:
   consider using Awaitility ? will make the code more clear



##########
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/leader/MinCostFlowLeaderBalancer.java:
##########
@@ -153,57 +181,74 @@ private void constructMCFGraph() {
 
     /* Construct edges: sNode -> rNodes */
     for (int rNode : rNodeMap.values()) {
-      // Cost: 0
+      // Capacity: 1, Cost: 0, each RegionGroup should elect exactly 1 leader
       addAdjacentEdges(S_NODE, rNode, 1, 0);
     }
 
-    /* Construct edges: rNodes -> dNodes */
-    for (TRegionReplicaSet regionReplicaSet : regionReplicaSetMap.values()) {
-      int rNode = rNodeMap.get(regionReplicaSet.getRegionId());
-      for (TDataNodeLocation dataNodeLocation : regionReplicaSet.getDataNodeLocations()) {
-        int dNode = dNodeMap.get(dataNodeLocation.getDataNodeId());
-        // Cost: 1 if the dNode is corresponded to the current leader of the rNode,
-        //       0 otherwise.
-        // Therefore, the RegionGroup will keep the leader as constant as possible.
-        int cost =
-            regionLeaderMap.getOrDefault(regionReplicaSet.getRegionId(), -1)
-                    == dataNodeLocation.getDataNodeId()
-                ? 0
-                : 1;
-        addAdjacentEdges(rNode, dNode, 1, cost);
+    /* Construct edges: rNodes -> sdNodes */
+    for (Map.Entry<String, List<TConsensusGroupId>> databaseEntry :
+        databaseRegionGroupMap.entrySet()) {
+      String database = databaseEntry.getKey();
+      for (TConsensusGroupId regionGroupId : databaseEntry.getValue()) {
+        int rNode = rNodeMap.get(regionGroupId);
+        for (TDataNodeLocation dataNodeLocation :
+            regionReplicaSetMap.get(regionGroupId).getDataNodeLocations()) {
+          int dataNodeId = dataNodeLocation.getDataNodeId();
+          if (disabledDataNodeSet.contains(dataNodeId)) {
+            // Skip disabled DataNode
+            continue;
+          }
+          int sDNode = sDNodeMap.get(database).get(dataNodeId);
+          // Capacity: 1, Cost: 1 if sDNode is the current leader of the rNode, 0 otherwise.
+          // Therefore, the RegionGroup will keep the leader as constant as possible.
+          int cost = regionLeaderMap.getOrDefault(regionGroupId, -1) == dataNodeId ? 0 : 1;
+          addAdjacentEdges(rNode, sDNode, 1, cost);
+        }
       }
     }
 
-    /* Construct edges: dNodes -> tNode */
-    // Count the possible maximum number of leader in each DataNode
-    Map<Integer, AtomicInteger> maxLeaderCounter = new ConcurrentHashMap<>();
-    regionReplicaSetMap
-        .values()
-        .forEach(
-            regionReplicaSet ->
-                regionReplicaSet
-                    .getDataNodeLocations()
-                    .forEach(
-                        dataNodeLocation ->
-                            maxLeaderCounter
-                                .computeIfAbsent(
-                                    dataNodeLocation.getDataNodeId(), empty -> new AtomicInteger(0))
-                                .getAndIncrement()));
-
-    for (Map.Entry<Integer, Integer> dNodeEntry : dNodeMap.entrySet()) {
-      int dataNodeId = dNodeEntry.getKey();
-      int dNode = dNodeEntry.getValue();
-
-      if (disabledDataNodeSet.contains(dataNodeId)) {
-        // Skip disabled DataNode
-        continue;
+    /* Construct edges: sDNodes -> tDNodes */
+    for (Map.Entry<String, List<TConsensusGroupId>> databaseEntry :
+        databaseRegionGroupMap.entrySet()) {
+      String database = databaseEntry.getKey();
+      // Map<DataNodeId, leader number>
+      Map<Integer, Integer> leaderCounter = new TreeMap<>();
+      for (TConsensusGroupId regionGroupId : databaseEntry.getValue()) {
+        for (TDataNodeLocation dataNodeLocation :
+            regionReplicaSetMap.get(regionGroupId).getDataNodeLocations()) {
+          int dataNodeId = dataNodeLocation.getDataNodeId();
+          if (disabledDataNodeSet.contains(dataNodeId)) {
+            // Skip disabled DataNode
+            continue;
+          }
+          int sDNode = sDNodeMap.get(database).get(dataNodeId);
+          int tDNode = tDNodeMap.get(dataNodeId);
+          int leaderCount = leaderCounter.merge(dataNodeId, 1, Integer::sum);
+          // Capacity: 1, Cost: x^2 for the x-th edge at the current sDNode.
+          // Thus, the leader distribution will be as balance as possible within each Database
+          // based on the Jensen's-Inequality.
+          addAdjacentEdges(sDNode, tDNode, 1, leaderCount * leaderCount);
+        }
       }
+    }
 
-      int maxLeaderCount = maxLeaderCounter.get(dataNodeId).get();
-      for (int extraEdge = 1; extraEdge <= maxLeaderCount; extraEdge++) {
+    /* Construct edges: tDNodes -> tNode */
+    // Map<DataNodeId, possible max leader> Count the possible maximum number of leader in each
+    // DataNode

Review Comment:
   make comment format consistent ?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [IOTDB-6308] CFD algorithm for multi-database [iotdb]

Posted by "liyuheng55555 (via GitHub)" <gi...@apache.org>.
liyuheng55555 commented on code in PR #12184:
URL: https://github.com/apache/iotdb/pull/12184#discussion_r1544161063


##########
integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBRegionGroupLeaderDistributionIT2.java:
##########


Review Comment:
   As the integration framework requires, the name of IT class should end with "IT"



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [IOTDB-6308] CFD algorithm for multi-database [iotdb]

Posted by "sonarcloud[bot] (via GitHub)" <gi...@apache.org>.
sonarcloud[bot] commented on PR #12184:
URL: https://github.com/apache/iotdb/pull/12184#issuecomment-2027259439

   ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184) **Quality Gate failed**  
   Failed conditions  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_iotdb&pullRequest=12184&metric=new_coverage&view=list) (required ≥ 80%)  
     
   [See analysis details on SonarCloud](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184)
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [IOTDB-6308] CFD algorithm for multi-database [iotdb]

Posted by "CRZbulabula (via GitHub)" <gi...@apache.org>.
CRZbulabula commented on code in PR #12184:
URL: https://github.com/apache/iotdb/pull/12184#discussion_r1544526934


##########
integration-test/src/test/java/org/apache/iotdb/confignode/it/load/IoTDBRegionGroupLeaderDistributionIT2.java:
##########


Review Comment:
   Fixed



##########
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/balancer/router/leader/MinCostFlowLeaderBalancer.java:
##########
@@ -153,57 +181,74 @@ private void constructMCFGraph() {
 
     /* Construct edges: sNode -> rNodes */
     for (int rNode : rNodeMap.values()) {
-      // Cost: 0
+      // Capacity: 1, Cost: 0, each RegionGroup should elect exactly 1 leader
       addAdjacentEdges(S_NODE, rNode, 1, 0);
     }
 
-    /* Construct edges: rNodes -> dNodes */
-    for (TRegionReplicaSet regionReplicaSet : regionReplicaSetMap.values()) {
-      int rNode = rNodeMap.get(regionReplicaSet.getRegionId());
-      for (TDataNodeLocation dataNodeLocation : regionReplicaSet.getDataNodeLocations()) {
-        int dNode = dNodeMap.get(dataNodeLocation.getDataNodeId());
-        // Cost: 1 if the dNode is corresponded to the current leader of the rNode,
-        //       0 otherwise.
-        // Therefore, the RegionGroup will keep the leader as constant as possible.
-        int cost =
-            regionLeaderMap.getOrDefault(regionReplicaSet.getRegionId(), -1)
-                    == dataNodeLocation.getDataNodeId()
-                ? 0
-                : 1;
-        addAdjacentEdges(rNode, dNode, 1, cost);
+    /* Construct edges: rNodes -> sdNodes */
+    for (Map.Entry<String, List<TConsensusGroupId>> databaseEntry :
+        databaseRegionGroupMap.entrySet()) {
+      String database = databaseEntry.getKey();
+      for (TConsensusGroupId regionGroupId : databaseEntry.getValue()) {
+        int rNode = rNodeMap.get(regionGroupId);
+        for (TDataNodeLocation dataNodeLocation :
+            regionReplicaSetMap.get(regionGroupId).getDataNodeLocations()) {
+          int dataNodeId = dataNodeLocation.getDataNodeId();
+          if (disabledDataNodeSet.contains(dataNodeId)) {
+            // Skip disabled DataNode
+            continue;
+          }
+          int sDNode = sDNodeMap.get(database).get(dataNodeId);
+          // Capacity: 1, Cost: 1 if sDNode is the current leader of the rNode, 0 otherwise.
+          // Therefore, the RegionGroup will keep the leader as constant as possible.
+          int cost = regionLeaderMap.getOrDefault(regionGroupId, -1) == dataNodeId ? 0 : 1;
+          addAdjacentEdges(rNode, sDNode, 1, cost);
+        }
       }
     }
 
-    /* Construct edges: dNodes -> tNode */
-    // Count the possible maximum number of leader in each DataNode
-    Map<Integer, AtomicInteger> maxLeaderCounter = new ConcurrentHashMap<>();
-    regionReplicaSetMap
-        .values()
-        .forEach(
-            regionReplicaSet ->
-                regionReplicaSet
-                    .getDataNodeLocations()
-                    .forEach(
-                        dataNodeLocation ->
-                            maxLeaderCounter
-                                .computeIfAbsent(
-                                    dataNodeLocation.getDataNodeId(), empty -> new AtomicInteger(0))
-                                .getAndIncrement()));
-
-    for (Map.Entry<Integer, Integer> dNodeEntry : dNodeMap.entrySet()) {
-      int dataNodeId = dNodeEntry.getKey();
-      int dNode = dNodeEntry.getValue();
-
-      if (disabledDataNodeSet.contains(dataNodeId)) {
-        // Skip disabled DataNode
-        continue;
+    /* Construct edges: sDNodes -> tDNodes */
+    for (Map.Entry<String, List<TConsensusGroupId>> databaseEntry :
+        databaseRegionGroupMap.entrySet()) {
+      String database = databaseEntry.getKey();
+      // Map<DataNodeId, leader number>
+      Map<Integer, Integer> leaderCounter = new TreeMap<>();
+      for (TConsensusGroupId regionGroupId : databaseEntry.getValue()) {
+        for (TDataNodeLocation dataNodeLocation :
+            regionReplicaSetMap.get(regionGroupId).getDataNodeLocations()) {
+          int dataNodeId = dataNodeLocation.getDataNodeId();
+          if (disabledDataNodeSet.contains(dataNodeId)) {
+            // Skip disabled DataNode
+            continue;
+          }
+          int sDNode = sDNodeMap.get(database).get(dataNodeId);
+          int tDNode = tDNodeMap.get(dataNodeId);
+          int leaderCount = leaderCounter.merge(dataNodeId, 1, Integer::sum);
+          // Capacity: 1, Cost: x^2 for the x-th edge at the current sDNode.
+          // Thus, the leader distribution will be as balance as possible within each Database
+          // based on the Jensen's-Inequality.
+          addAdjacentEdges(sDNode, tDNode, 1, leaderCount * leaderCount);
+        }
       }
+    }
 
-      int maxLeaderCount = maxLeaderCounter.get(dataNodeId).get();
-      for (int extraEdge = 1; extraEdge <= maxLeaderCount; extraEdge++) {
+    /* Construct edges: tDNodes -> tNode */
+    // Map<DataNodeId, possible max leader> Count the possible maximum number of leader in each
+    // DataNode

Review Comment:
   Fixed



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [IOTDB-6308] CFD algorithm for multi-database [iotdb]

Posted by "sonarcloud[bot] (via GitHub)" <gi...@apache.org>.
sonarcloud[bot] commented on PR #12184:
URL: https://github.com/apache/iotdb/pull/12184#issuecomment-2002348121

   ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184) **Quality Gate failed**  
   Failed conditions  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_iotdb&pullRequest=12184&metric=new_coverage&view=list) (required ≥ 80%)  
     
   [See analysis details on SonarCloud](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184)
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [IOTDB-6308] CFD algorithm for multi-database [iotdb]

Posted by "sonarcloud[bot] (via GitHub)" <gi...@apache.org>.
sonarcloud[bot] commented on PR #12184:
URL: https://github.com/apache/iotdb/pull/12184#issuecomment-2024659200

   ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184) **Quality Gate failed**  
   Failed conditions  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_iotdb&pullRequest=12184&metric=new_coverage&view=list) (required ≥ 80%)  
     
   [See analysis details on SonarCloud](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184)
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [IOTDB-6308] CFD algorithm for multi-database [iotdb]

Posted by "sonarcloud[bot] (via GitHub)" <gi...@apache.org>.
sonarcloud[bot] commented on PR #12184:
URL: https://github.com/apache/iotdb/pull/12184#issuecomment-2025722999

   ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184) **Quality Gate failed**  
   Failed conditions  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_iotdb&pullRequest=12184&metric=new_coverage&view=list) (required ≥ 80%)  
     
   [See analysis details on SonarCloud](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184)
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [IOTDB-6308] CFD algorithm for multi-database [iotdb]

Posted by "CRZbulabula (via GitHub)" <gi...@apache.org>.
CRZbulabula commented on code in PR #12184:
URL: https://github.com/apache/iotdb/pull/12184#discussion_r1544501093


##########
iotdb-core/node-commons/src/assembly/resources/conf/iotdb-common.properties:
##########
@@ -126,15 +126,6 @@ data_replication_factor=1
 # Datatype: Double
 # data_region_per_data_node=5.0
 
-
-# The policy of cluster RegionGroups' leader distribution.
-# E.g. we should balance cluster RegionGroups' leader distribution when some DataNodes are shutdown or re-connected.
-# These policies are currently supported:
-# 1. GREEDY(Distribute leader through a simple greedy algorithm, might cause unbalance)
-# 2. MIN_COST_FLOW(Default, distribute leader through min cost flow algorithm)
-# Datatype: String
-# leader_distribution_policy=MIN_COST_FLOW

Review Comment:
   It seems that the GREEDY algorithm will never be used



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [IOTDB-6308] CFD algorithm for multi-database [iotdb]

Posted by "sonarcloud[bot] (via GitHub)" <gi...@apache.org>.
sonarcloud[bot] commented on PR #12184:
URL: https://github.com/apache/iotdb/pull/12184#issuecomment-2025328195

   ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184) **Quality Gate failed**  
   Failed conditions  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_iotdb&pullRequest=12184&metric=new_coverage&view=list) (required ≥ 80%)  
     
   [See analysis details on SonarCloud](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184)
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [IOTDB-6308] CFD algorithm for multi-database [iotdb]

Posted by "sonarcloud[bot] (via GitHub)" <gi...@apache.org>.
sonarcloud[bot] commented on PR #12184:
URL: https://github.com/apache/iotdb/pull/12184#issuecomment-2023335478

   ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184) **Quality Gate failed**  
   Failed conditions  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_iotdb&pullRequest=12184&metric=new_coverage&view=list) (required ≥ 80%)  
     
   [See analysis details on SonarCloud](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184)
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [IOTDB-6308] CFD algorithm for multi-database [iotdb]

Posted by "OneSizeFitsQuorum (via GitHub)" <gi...@apache.org>.
OneSizeFitsQuorum merged PR #12184:
URL: https://github.com/apache/iotdb/pull/12184


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [IOTDB-6308] CFD algorithm for multi-database [iotdb]

Posted by "OneSizeFitsQuorum (via GitHub)" <gi...@apache.org>.
OneSizeFitsQuorum commented on code in PR #12184:
URL: https://github.com/apache/iotdb/pull/12184#discussion_r1544161624


##########
iotdb-core/node-commons/src/assembly/resources/conf/iotdb-common.properties:
##########
@@ -126,15 +126,6 @@ data_replication_factor=1
 # Datatype: Double
 # data_region_per_data_node=5.0
 
-
-# The policy of cluster RegionGroups' leader distribution.
-# E.g. we should balance cluster RegionGroups' leader distribution when some DataNodes are shutdown or re-connected.
-# These policies are currently supported:
-# 1. GREEDY(Distribute leader through a simple greedy algorithm, might cause unbalance)
-# 2. MIN_COST_FLOW(Default, distribute leader through min cost flow algorithm)
-# Datatype: String
-# leader_distribution_policy=MIN_COST_FLOW

Review Comment:
   why remove this one?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [IOTDB-6308] CFD algorithm for multi-database [iotdb]

Posted by "sonarcloud[bot] (via GitHub)" <gi...@apache.org>.
sonarcloud[bot] commented on PR #12184:
URL: https://github.com/apache/iotdb/pull/12184#issuecomment-2027271953

   ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184) **Quality Gate failed**  
   Failed conditions  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_iotdb&pullRequest=12184&metric=new_coverage&view=list) (required ≥ 80%)  
     
   [See analysis details on SonarCloud](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184)
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] [IOTDB-6308] CFD algorithm for multi-database [iotdb]

Posted by "sonarcloud[bot] (via GitHub)" <gi...@apache.org>.
sonarcloud[bot] commented on PR #12184:
URL: https://github.com/apache/iotdb/pull/12184#issuecomment-2027931413

   ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184) **Quality Gate failed**  
   Failed conditions  
   ![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=apache_iotdb&pullRequest=12184&metric=new_coverage&view=list) (required ≥ 80%)  
     
   [See analysis details on SonarCloud](https://sonarcloud.io/dashboard?id=apache_iotdb&pullRequest=12184)
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org