Skip to content

Group shard request per node in the can match phase #78164

Closed
@jimczi

Description

@jimczi

The can match phase fans out the original search request to all shards.
These individual requests have a cost:

  • They serialize the same request multiple times.
  • They need to resolve the index permissions multiple times.

Additionally, the broadcasting of these shard request is done on the network thread without any throttling, so search requests that target a large number of shards can disturb the cluster coordination, leading to nodes leaving the cluster.

Similar to #74648, we should move to a per-node request model for this phase. We can group shard request per node and perform the local operations for multiple shard/index at once. That would reduce the cost of coordination drastically and would leave room on data nodes to perform the operations on a separate thread pool.

Metadata

Metadata

Assignees

No one assigned

    Labels

    :Search/SearchSearch-related issues that do not fall into other categories>enhancementTeam:SearchMeta label for search team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions