Skip to content

Commit c4deea7

Browse files
committed
Limit to 120 characters
Change-Id: I0ec667c21155436eb6a0654782b43b48636f75d5
1 parent 8d43d43 commit c4deea7

1 file changed

Lines changed: 20 additions & 7 deletions

File tree

hadoop-hdds/docs/content/feature/multi-raft-support.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,25 +71,34 @@ Ratis handles concurrent logs per node.
7171

7272
### Calculating Ratis Pipeline Limits
7373

74-
The target number of open, FACTOR_THREE Ratis pipelines is controlled by three properties that define the maximum number of pipelines in the cluster at a cluster-wide level, datanode level, and metadata disk level, respectively. SCM will create pipelines until the most restrictive limit is met.
74+
The target number of open, FACTOR_THREE Ratis pipelines is controlled by three properties that define the maximum
75+
number of pipelines in the cluster at a cluster-wide level, datanode level, and metadata disk level, respectively.
76+
SCM will create pipelines until the most restrictive limit is met.
7577

7678
1. **Cluster-wide Limit (`ozone.scm.ratis.pipeline.limit`)**
77-
* **Description**: An absolute, global limit for the total number of open, FACTOR_THREE Ratis pipelines across the entire cluster. This acts as a final cap on the total number of pipelines.
79+
* **Description**: An absolute, global limit for the total number of open, FACTOR_THREE Ratis pipelines
80+
across the entire cluster. This acts as a final cap on the total number of pipelines.
7881
* **Default Value**: `0` (which means no global limit is enforced by default).
7982

8083
2. **Datanode-level Fixed Limit (`ozone.scm.datanode.pipeline.limit`)**
81-
* **Description**: When set to a positive number, this property defines a fixed maximum number of pipelines for every datanode. This is one of two ways to calculate a cluster-wide target.
84+
* **Description**: When set to a positive number, this property defines a fixed maximum number of pipelines for
85+
every datanode. This is one of two ways to calculate a cluster-wide target.
8286
* **Default Value**: `2`
8387
* **Calculation**: If this is set, the target is `(<this value> * <number of healthy datanodes>) / 3`.
8488

8589
3. **Datanode-level Dynamic Limit (`ozone.scm.pipeline.per.metadata.disk`)**
86-
* **Description**: This property is used only when `ozone.scm.datanode.pipeline.limit` is explicitly set to `0`. It calculates a dynamic limit for each datanode based on its available metadata disks.
90+
* **Description**: This property is used only when `ozone.scm.datanode.pipeline.limit` is explicitly set to `0`.
91+
It calculates a dynamic limit for each datanode based on its available metadata disks.
8792
* **Default Value**: `2`
88-
* **Calculation**: The limit for each datanode is `(<this value> * <number of metadata disks on that datanode>)`. The total cluster-wide target is the sum of all individual datanode limits, divided by 3.
93+
* **Calculation**: The limit for each datanode is
94+
`(<this value> * <number of metadata disks on that datanode>)`.
95+
The total cluster-wide target is the sum of all individual datanode limits, divided by 3.
8996

9097
#### How Limits are Applied
9198

92-
SCM first calculates a target number of pipelines based on either the **Datanode-level Fixed Limit** or the **Datanode-level Dynamic Limit**. It then compares this calculated target to the **Cluster-wide Limit**. The **lowest value** is used as the final target for the number of open pipelines.
99+
SCM first calculates a target number of pipelines based on either the **Datanode-level Fixed Limit** or the
100+
**Datanode-level Dynamic Limit**. It then compares this calculated target to the **Cluster-wide Limit**. The
101+
**lowest value** is used as the final target for the number of open pipelines.
93102

94103
**Example (Dynamic Limit):**
95104

@@ -112,7 +121,11 @@ SCM will attempt to create and maintain approximately **24** open, FACTOR_THREE
112121

113122
**Production Recommendation:**
114123

115-
For most production deployments, using the dynamic per-disk limit (`ozone.scm.datanode.pipeline.limit=0`) is recommended, as it allows the cluster to scale pipeline capacity naturally with its resources. You can use the global limit (`ozone.scm.ratis.pipeline.limit`) as a safety cap if needed. A good starting value for `ozone.scm.pipeline.per.metadata.disk` is **2**. Monitor the `NumOpenPipelines` metric in SCM to see if the actual number of pipelines aligns with your configured targets.
124+
For most production deployments, using the dynamic per-disk limit (`ozone.scm.datanode.pipeline.limit=0`) is
125+
recommended, as it allows the cluster to scale pipeline capacity naturally with its resources. You can use the
126+
global limit (`ozone.scm.ratis.pipeline.limit`) as a safety cap if needed. A good starting value for
127+
`ozone.scm.pipeline.per.metadata.disk` is **2**. Monitor the `NumOpenPipelines` metric in SCM to see if the
128+
actual number of pipelines aligns with your configured targets.
116129

117130
## How to Use
118131
1. Configure Datanode metadata directories:

0 commit comments

Comments
 (0)