The node.bandwidth.recovery.operator.factor.read
setting in Elasticsearch controls the factor applied to the read bandwidth for recovery operations. It helps manage the network usage during shard recovery processes, allowing administrators to fine-tune the balance between recovery speed and overall cluster performance.
- Default value: 1.0
- Possible values: Any positive floating-point number
- Recommendation: Start with the default value and adjust based on your specific cluster needs and network capabilities
This setting is part of the adaptive recovery feature introduced in Elasticsearch 7.9.0. It works in conjunction with other bandwidth-related settings to dynamically adjust recovery speeds based on the cluster's current state and performance.
Example
To change the node.bandwidth.recovery.operator.factor.read
setting using the cluster settings API:
PUT _cluster/settings
{
"transient": {
"node.bandwidth.recovery.operator.factor.read": 1.5
}
}
In this example, we're increasing the read bandwidth factor to 1.5. This might be desirable if you want to allocate more bandwidth for read operations during recovery, potentially speeding up the process at the cost of higher network usage.
Common Issues and Misuses
- Setting the value too high can lead to network congestion and impact other cluster operations
- Setting the value too low may unnecessarily slow down recovery processes
- Failing to consider the interplay between this setting and other bandwidth-related settings can lead to suboptimal recovery performance
Do's and Don'ts
- Do monitor your network usage and cluster performance when adjusting this setting
- Do consider the impact on other cluster operations when increasing this value
- Don't set this value arbitrarily without understanding your network capabilities
- Don't forget to adjust related settings like
node.bandwidth.recovery.operator.factor.write
for a balanced approach
Frequently Asked Questions
Q: How does this setting interact with other recovery settings?
A: This setting works in conjunction with other bandwidth-related settings to dynamically adjust recovery speeds. It specifically affects the read operations during recovery, while other settings like node.bandwidth.recovery.operator.factor.write
affect write operations.
Q: Can changing this setting impact ongoing recoveries?
A: Yes, changes to this setting can affect ongoing recoveries. Elasticsearch will adapt to the new setting, potentially altering the speed of current and future recovery operations.
Q: Is it necessary to restart nodes after changing this setting?
A: No, this setting can be changed dynamically using the cluster settings API without requiring a node restart.
Q: How can I determine the optimal value for my cluster?
A: The optimal value depends on your specific cluster configuration, network capabilities, and recovery requirements. Start with the default value and gradually adjust while monitoring cluster performance and recovery times.
Q: Does this setting affect all types of recovery operations?
A: This setting affects all recovery operations that involve reading data, including peer recovery and snapshot restore operations. However, it does not directly impact other cluster operations outside of recovery processes.