Elasticsearch node.bandwidth.recovery.operator.factor.read Setting

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.

Subscribe to the Pulse Newsletter

Get early access to new Pulse features, insightful blogs & exclusive events , webinars, and workshops.

We use cookies to provide an optimized user experience and understand our traffic. To learn more, read our use of cookies; otherwise, please choose 'Accept Cookies' to continue using our website.