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]