Elasticsearch node.bandwidth.recovery.network Setting

The node.bandwidth.recovery.network setting in Elasticsearch controls the amount of network bandwidth allocated for recovery operations between nodes in a cluster. This setting helps manage the network resources used during shard recovery processes, balancing recovery speed with overall cluster performance.

  • Default value: 40mb/s
  • Possible values: Any bandwidth limit expressed as a byte size value (e.g., 10mb, 1gb)
  • Recommendations: Adjust based on your network capacity and recovery requirements

This setting allows you to limit the network bandwidth used for recovery operations. This is particularly useful in scenarios where you want to prevent recovery processes from consuming too much network resources, which could potentially impact other cluster operations or applications sharing the same network.

This setting was introduced in Elasticsearch 7.5.0.

Example Usage

To change the recovery network bandwidth limit using the cluster settings API:

PUT _cluster/settings
{
  "persistent": {
    "node.bandwidth.recovery.network": "100mb"
  }
}

In this example, we're increasing the bandwidth limit to 100MB/s. This might be desirable in situations where you have ample network capacity and want to speed up recovery operations. However, be cautious as this could potentially impact other network-dependent operations in your cluster or environment.

Common Issues and Misuses

  • Setting the value too low can significantly slow down recovery operations, potentially leading to delayed cluster rebalancing or longer downtime after node failures.
  • Setting the value too high without considering overall network capacity can lead to network congestion and affect other cluster operations or applications.

Do's and Don'ts

Do's:

  • Monitor your network usage during recovery operations to find the optimal setting for your environment.
  • Consider adjusting this setting temporarily during planned large-scale recovery operations.
  • Balance this setting with other bandwidth-related settings like indices.recovery.max_bytes_per_sec.

Don'ts:

  • Don't set this value higher than your actual network capacity.
  • Avoid frequent changes to this setting, as it can lead to inconsistent recovery performance.
  • Don't ignore this setting when planning for disaster recovery scenarios.

Frequently Asked Questions

Q: How does node.bandwidth.recovery.network differ from indices.recovery.max_bytes_per_sec?
A: While both settings affect recovery speed, node.bandwidth.recovery.network is a node-level setting that limits overall network bandwidth for recovery, whereas indices.recovery.max_bytes_per_sec is an index-level setting that controls the rate of data transfer during recovery.

Q: Can I set different bandwidth limits for different nodes?
A: Yes, you can use node-specific settings to apply different bandwidth limits to individual nodes based on their hardware capabilities or network conditions.

Q: How does this setting affect cross-cluster recovery operations?
A: This setting applies to both intra-cluster and cross-cluster recovery operations, helping to manage bandwidth usage consistently across all recovery scenarios.

Q: Will changing this setting affect ongoing recovery operations?
A: Changes to this setting will affect new recovery operations immediately, but ongoing recoveries will continue with their current bandwidth allocation until completed or restarted.

Q: Is there a way to temporarily override this setting for urgent recoveries?
A: While there's no built-in way to temporarily override this setting, you can adjust it using the cluster settings API for urgent situations and then revert it back afterward. Always monitor the impact of such changes closely.

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.