Class ShardShuffler

java.lang.Object
org.elasticsearch.cluster.routing.ShardShuffler
Direct Known Subclasses:
RotationShardShuffler

public abstract class ShardShuffler extends Object
A shuffler for shards whose primary goal is to balance load.
  • Constructor Details

    • ShardShuffler

      public ShardShuffler()
  • Method Details

    • nextSeed

      public abstract int nextSeed()
      Return a new seed.
    • shuffle

      public abstract List<ShardRouting> shuffle(List<ShardRouting> shards, int seed)
      Return a shuffled view over the list of shards. The behavior of this method must be deterministic: if the same list and the same seed are provided twice, then the result needs to be the same.
    • shuffle

      public List<ShardRouting> shuffle(List<ShardRouting> shards)
      Equivalent to calling shuffle(shards, nextSeed()).