Class ShardShuffler
java.lang.Object
org.elasticsearch.cluster.routing.ShardShuffler
- Direct Known Subclasses:
RotationShardShuffler
public abstract class ShardShuffler
extends java.lang.Object
A shuffler for shards whose primary goal is to balance load.
-
Constructor Summary
Constructors Constructor Description ShardShuffler()
-
Method Summary
Modifier and Type Method Description abstract int
nextSeed()
Return a new seed.java.util.List<ShardRouting>
shuffle(java.util.List<ShardRouting> shards)
Equivalent to callingshuffle(shards, nextSeed())
.abstract java.util.List<ShardRouting>
shuffle(java.util.List<ShardRouting> shards, int seed)
Return a shuffled view over the list of shards.
-
Constructor Details
-
ShardShuffler
public ShardShuffler()
-
-
Method Details
-
nextSeed
public abstract int nextSeed()Return a new seed. -
shuffle
public abstract java.util.List<ShardRouting> shuffle(java.util.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
Equivalent to callingshuffle(shards, nextSeed())
.
-