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

adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new 003b26a27f4 HDDS-15280. Fix EC pipeline calculation for fractional 
factor (#10272)
003b26a27f4 is described below

commit 003b26a27f4240674d02ce3ebbd7a772426d2c5d
Author: slfan1989 <[email protected]>
AuthorDate: Sat May 16 14:59:19 2026 +0800

    HDDS-15280. Fix EC pipeline calculation for fractional factor (#10272)
---
 .../hadoop/hdds/scm/pipeline/WritableECContainerProvider.java       | 2 +-
 .../hadoop/hdds/scm/pipeline/TestWritableECContainerProvider.java   | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/WritableECContainerProvider.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/WritableECContainerProvider.java
index d7c4b7705f4..b5faf14ea01 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/WritableECContainerProvider.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/WritableECContainerProvider.java
@@ -187,7 +187,7 @@ private int getMaximumPipelines(ECReplicationConfig 
repConfig) {
     int volumeBasedCount = 0;
     if (factor > 0) {
       int volumes = nodeManager.totalHealthyVolumeCount();
-      volumeBasedCount = (int) factor * volumes / repConfig.getRequiredNodes();
+      volumeBasedCount = (int) (factor * volumes / 
repConfig.getRequiredNodes());
     }
     return Math.max(volumeBasedCount, providerConfig.getMinimumPipelines());
   }
diff --git 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestWritableECContainerProvider.java
 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestWritableECContainerProvider.java
index b3c34b44e4c..6e4447d2e36 100644
--- 
a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestWritableECContainerProvider.java
+++ 
b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/pipeline/TestWritableECContainerProvider.java
@@ -183,13 +183,13 @@ void 
testPipelinesCreatedBasedOnTotalDiskCount(PipelineChoosePolicy policy)
   void testPipelinesCreatedBasedOnTotalDiskCountWithFactor(
       PipelineChoosePolicy policy) throws IOException {
     provider = createSubject(policy);
-    int factor = 10;
+    double factor = 0.5;
     providerConf.setMinimumPipelines(1);
     providerConf.setPipelinePerVolumeFactor(factor);
-    nodeManager.setNumHealthyVolumes(5);
+    nodeManager.setNumHealthyVolumes(20);
 
     int volumeCount = nodeManager.totalHealthyVolumeCount();
-    int pipelineLimit = factor * volumeCount / repConfig.getRequiredNodes();
+    int pipelineLimit = (int) (factor * volumeCount / 
repConfig.getRequiredNodes());
     Set<ContainerInfo> allocated = assertDistinctContainers(pipelineLimit);
     assertReusesExisting(allocated, pipelineLimit);
   }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to