Class ShardShuffler

  • Direct Known Subclasses:
    RotationShardShuffler

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

      • ShardShuffler

        public ShardShuffler()
    • Method Detail

      • 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.