Class RoutingNodes.UnassignedShards.UnassignedIterator
- java.lang.Object
-
- org.elasticsearch.cluster.routing.RoutingNodes.UnassignedShards.UnassignedIterator
-
- All Implemented Interfaces:
java.util.Iterator<ShardRouting>
- Enclosing class:
- RoutingNodes.UnassignedShards
public class RoutingNodes.UnassignedShards.UnassignedIterator extends java.lang.Object implements java.util.Iterator<ShardRouting>
-
-
Constructor Summary
Constructors Constructor Description UnassignedIterator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
hasNext()
ShardRouting
initialize(java.lang.String nodeId, java.lang.String existingAllocationId, long expectedShardSize, RoutingChangesObserver routingChangesObserver)
Initializes the current unassigned shard and moves it from the unassigned list.ShardRouting
next()
void
remove()
Unsupported operation, just there for the interface.void
removeAndIgnore(UnassignedInfo.AllocationStatus attempt, RoutingChangesObserver changes)
Removes and ignores the unassigned shard (will be ignored for this run, but will be added back to unassigned once the metadata is constructed again).ShardRouting
updateUnassigned(UnassignedInfo unassignedInfo, RecoverySource recoverySource, RoutingChangesObserver changes)
updates the unassigned info and recovery source on the current unassigned shard
-
-
-
Method Detail
-
hasNext
public boolean hasNext()
- Specified by:
hasNext
in interfacejava.util.Iterator<ShardRouting>
-
next
public ShardRouting next()
- Specified by:
next
in interfacejava.util.Iterator<ShardRouting>
-
initialize
public ShardRouting initialize(java.lang.String nodeId, @Nullable java.lang.String existingAllocationId, long expectedShardSize, RoutingChangesObserver routingChangesObserver)
Initializes the current unassigned shard and moves it from the unassigned list.- Parameters:
existingAllocationId
- allocation id to use. If null, a fresh allocation id is generated.
-
removeAndIgnore
public void removeAndIgnore(UnassignedInfo.AllocationStatus attempt, RoutingChangesObserver changes)
Removes and ignores the unassigned shard (will be ignored for this run, but will be added back to unassigned once the metadata is constructed again). Typically this is used when an allocation decision prevents a shard from being allocated such that subsequent consumers of this API won't try to allocate this shard again.- Parameters:
attempt
- the result of the allocation attempt
-
updateUnassigned
public ShardRouting updateUnassigned(UnassignedInfo unassignedInfo, RecoverySource recoverySource, RoutingChangesObserver changes)
updates the unassigned info and recovery source on the current unassigned shard- Parameters:
unassignedInfo
- the new unassigned info to userecoverySource
- the new recovery source to use- Returns:
- the shard with unassigned info updated
-
remove
public void remove()
Unsupported operation, just there for the interface. UseremoveAndIgnore(AllocationStatus, RoutingChangesObserver)
orinitialize(String, String, long, RoutingChangesObserver)
.- Specified by:
remove
in interfacejava.util.Iterator<ShardRouting>
-
-