Skip to content

[META] Optimise shard allocation decider execution times #15872

@Bukhtawar

Description

@Bukhtawar

Please describe the end goal of this project

The shard placement logic is executed on a single threaded cluster manager's state execution thread. For larger clusters this might cause the execution times to go beyond a minute thereby causing critical operations like index creation and settings update etc to starve making the cluster unmanageable

Supporting References

Related PRs

  1. Caching avg total bytes and avg free bytes inside ClusterInfo #14851
  2. Removing unnecessary List.removeAll from LocalShardsBalancer to filter remote search shard from relocation decision #14613
  3. Optimising hashmap.get call inside AwarenessAllocationDecider #14761
  4. Removing String format in RemoteStoreMigrationAllocationDecider #14612
  5. Offline calculation of total shard across all node and caching it for weight calculation inside LocalShardBalancer #14675
  6. Cache index shard limit to optimise ShardLimitsAllocationDecider #14962
  7. Skip unnecessary string format in ThrottlingAllocationDecider when not in debug mode #13750

Issues

TBD

Related component

Cluster Manager

Metadata

Metadata

Assignees

No one assigned

    Labels

    MetaMeta issue, not directly linked to a PR

    Type

    No type

    Projects

    Status

    New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions