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]

Reply via email to