Devesh Kumar Singh created HDDS-17723:
-----------------------------------------
Summary: Datanode pipeline limit must use per tier count instead
of using total-cluster DN count
Key: HDDS-17723
URL: https://issues.apache.org/jira/browse/HDDS-17723
Project: Apache Ozone
Issue Type: Sub-task
Components: Ozone Datanode
Reporter: Devesh Kumar Singh
Assignee: Devesh Kumar Singh
RatisPipelineProvider.exceedPipelineNumberLimit() counts existing pipelines for
the requested storage tier, but calculates the allowed pipeline count using all
healthy datanodes, including those that do not support that tier.
For example, consider three SSD-only datanodes and three DISK-only datanodes,
with a per-datanode pipeline limit of two and RATIS/THREE replication:
- Current SSD pipeline ceiling: 2 × 6 / 3 = 4.
- Ceiling based on SSD-capable datanodes: 2 × 3 / 3 = 2.
The separate per-datanode checks already enforce storage-type-specific limits.
Consequently, the inflated cluster ceiling can permit pipeline creation
attempts that subsequently fail because the SSD datanodes have reached their
limits.
Update the cluster ceiling calculation to count healthy datanodes supporting
the requested tier. Mixed-media datanodes should contribute to each tier they
support.
*Acceptance criteria:*
- Calculate ceilings independently using eligible datanodes for each requested
tier.
- Preserve existing per-datanode limits, placement checks and legacy/null-tier
behavior.
- Add tests for dedicated-tier and mixed-media datanodes, unavailable tiers and
pipeline-limit boundaries.
Update the cluster ceiling calculation to count healthy datanodes supporting
the requested tier. Mixed-media datanodes should contribute to each tier they
support.
Acceptance criteria:
- Calculate ceilings independently using eligible datanodes for each requested
tier.
- Preserve existing per-datanode limits, placement checks and legacy/null-tier
behavior.
- Add tests for dedicated-tier and mixed-media datanodes, unavailable tiers and
pipeline-limit boundaries.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]