public class ShardsAllocators extends AbstractComponent implements ShardsAllocator
ShardsAllocator
class offers methods for allocating shard within a cluster.
These methods include moving shards and re-balancing the cluster. It also allows management
of shards by their state.deprecationLogger, logger, settings
Constructor and Description |
---|
ShardsAllocators(GatewayAllocator allocator) |
ShardsAllocators(Settings settings,
GatewayAllocator allocator) |
ShardsAllocators(Settings settings,
GatewayAllocator gatewayAllocator,
ShardsAllocator allocator) |
Modifier and Type | Method and Description |
---|---|
boolean |
allocateUnassigned(RoutingAllocation allocation)
Assign all unassigned shards to nodes
|
void |
applyFailedShards(FailedRerouteAllocation allocation)
Applies changes on failed nodes based on the implemented algorithm.
|
void |
applyStartedShards(StartedRerouteAllocation allocation)
Applies changes on started nodes based on the implemented algorithm.
|
boolean |
moveShards(RoutingAllocation allocation)
Move started shards that can not be allocated to a node anymore
|
protected long |
nanoTime() |
boolean |
rebalance(RoutingAllocation allocation)
Rebalancing number of shards on all nodes
|
logDeprecatedSetting, logRemovedSetting, nodeName
public ShardsAllocators(GatewayAllocator allocator)
public ShardsAllocators(Settings settings, GatewayAllocator allocator)
@Inject public ShardsAllocators(Settings settings, GatewayAllocator gatewayAllocator, ShardsAllocator allocator)
public void applyStartedShards(StartedRerouteAllocation allocation)
ShardsAllocator
ShardRoutingState.STARTED
from ShardRoutingState.RELOCATING
this allocator might apply some cleanups on the node that used to hold the shard.applyStartedShards
in interface ShardsAllocator
allocation
- all started shards
public void applyFailedShards(FailedRerouteAllocation allocation)
ShardsAllocator
applyFailedShards
in interface ShardsAllocator
allocation
- all failed shards
public boolean allocateUnassigned(RoutingAllocation allocation)
ShardsAllocator
allocateUnassigned
in interface ShardsAllocator
allocation
- current node allocationtrue
if the allocation has changed, otherwise false
protected long nanoTime()
public boolean rebalance(RoutingAllocation allocation)
ShardsAllocator
rebalance
in interface ShardsAllocator
allocation
- current node allocationtrue
if the allocation has changed, otherwise false
public boolean moveShards(RoutingAllocation allocation)
ShardsAllocator
moveShards
in interface ShardsAllocator
allocation
- current node allocationtrue
if the allocation has changed, otherwise false
Copyright © 2009–2016. All rights reserved.