Skip to content

Limit the number of connections used by snapshot file downloads during recoveries #79044

Closed
@fcofdez

Description

@fcofdez

Today we limit the number of concurrent snapshot file downloads during recoveries to 5 per recovery:

public static final Setting<Integer> INDICES_RECOVERY_MAX_CONCURRENT_SNAPSHOT_FILE_DOWNLOADS =
Setting.intSetting("indices.recovery.max_concurrent_snapshot_file_downloads",
5,
1,
20,
Property.Dynamic,
Property.NodeScope
);

This setting combined with the default node_concurrent_recoveries=2 works well in most scenarios.

public static final int DEFAULT_CLUSTER_ROUTING_ALLOCATION_NODE_CONCURRENT_RECOVERIES = 2;

But when the number of concurrent recoveries is higher, it's possible to exhaust the repository connections
just with recoveries, possibly affecting other repository operations such as snapshot/restore.

We should limit the number of concurrent snapshot file downloads in the target node to 25 as that would leave
room for the rest of the operations to make progress if node_concurrent_recoveries is larger than the default.

Relates #73496

Metadata

Metadata

Assignees

Labels

:Distributed Indexing/RecoveryAnything around constructing a new shard, either from a local or a remote source.Team:Distributed (Obsolete)Meta label for distributed team (obsolete). Replaced by Distributed Indexing/Coordination.v7.16.0v8.0.0-beta1

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions