Class IndexShardRoutingTable

java.lang.Object
org.elasticsearch.cluster.routing.IndexShardRoutingTable
All Implemented Interfaces:
java.lang.Iterable<ShardRouting>

public class IndexShardRoutingTable
extends java.lang.Object
implements java.lang.Iterable<ShardRouting>
IndexShardRoutingTable encapsulates all instances of a single shard. Each Elasticsearch index consists of multiple shards, each shard encapsulates a disjoint set of the index data and each shard has one or more instances referred to as replicas of a shard. Given that, this class encapsulates all replicas (instances) for a single index shard.
  • Method Details

    • shardId

      public ShardId shardId()
      Returns the shards id
      Returns:
      id of the shard
    • getShardId

      public ShardId getShardId()
      Returns the shards id
      Returns:
      id of the shard
    • iterator

      public java.util.Iterator<ShardRouting> iterator()
      Specified by:
      iterator in interface java.lang.Iterable<ShardRouting>
    • size

      public int size()
      Returns the number of this shards instances.
    • getSize

      public int getSize()
      Returns the number of this shards instances.
    • shards

      public java.util.List<ShardRouting> shards()
      Returns a List of shards
      Returns:
      a List of shards
    • getShards

      public java.util.List<ShardRouting> getShards()
      Returns a List of shards
      Returns:
      a List of shards
    • activeShards

      public java.util.List<ShardRouting> activeShards()
      Returns a List of active shards
      Returns:
      a List of shards
    • getAllInitializingShards

      public java.util.List<ShardRouting> getAllInitializingShards()
      Returns a List of all initializing shards, including target shards of relocations
      Returns:
      a List of shards
    • getActiveShards

      public java.util.List<ShardRouting> getActiveShards()
      Returns a List of active shards
      Returns:
      a List of shards
    • assignedShards

      public java.util.List<ShardRouting> assignedShards()
      Returns a List of assigned shards, including relocation targets
      Returns:
      a List of shards
    • shardsRandomIt

      public ShardIterator shardsRandomIt()
    • shardsIt

      public ShardIterator shardsIt()
    • shardsIt

      public ShardIterator shardsIt​(int seed)
    • activeInitializingShardsRandomIt

      public ShardIterator activeInitializingShardsRandomIt()
      Returns an iterator over active and initializing shards. Making sure though that its random within the active shards, and initializing shards are the last to iterate through.
    • activeInitializingShardsIt

      public ShardIterator activeInitializingShardsIt​(int seed)
      Returns an iterator over active and initializing shards. Making sure though that its random within the active shards, and initializing shards are the last to iterate through.
    • activeInitializingShardsRankedIt

      public ShardIterator activeInitializingShardsRankedIt​(@Nullable ResponseCollectorService collector, @Nullable java.util.Map<java.lang.String,​java.lang.Long> nodeSearchCounts)
      Returns an iterator over active and initializing shards, ordered by the adaptive replica selection formula. Making sure though that its random within the active shards of the same (or missing) rank, and initializing shards are the last to iterate through.
    • primaryShardIt

      public ShardIterator primaryShardIt()
      Returns an iterator only on the primary shard.
    • onlyNodeActiveInitializingShardsIt

      public ShardIterator onlyNodeActiveInitializingShardsIt​(java.lang.String nodeId)
    • onlyNodeSelectorActiveInitializingShardsIt

      public ShardIterator onlyNodeSelectorActiveInitializingShardsIt​(java.lang.String nodeAttributes, DiscoveryNodes discoveryNodes)
    • onlyNodeSelectorActiveInitializingShardsIt

      public ShardIterator onlyNodeSelectorActiveInitializingShardsIt​(java.lang.String[] nodeAttributes, DiscoveryNodes discoveryNodes)
      Returns shards based on nodeAttributes given such as node name , node attribute, node IP Supports node specifications in cluster API
    • preferNodeActiveInitializingShardsIt

      public ShardIterator preferNodeActiveInitializingShardsIt​(java.util.Set<java.lang.String> nodeIds)
    • equals

      public boolean equals​(java.lang.Object o)
      Overrides:
      equals in class java.lang.Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class java.lang.Object
    • allShardsStarted

      public boolean allShardsStarted()
      Returns true iff all shards in the routing table are started otherwise false
    • getByAllocationId

      @Nullable public ShardRouting getByAllocationId​(java.lang.String allocationId)
    • getAllAllocationIds

      public java.util.Set<java.lang.String> getAllAllocationIds()
    • preferAttributesActiveInitializingShardsIt

      public ShardIterator preferAttributesActiveInitializingShardsIt​(java.util.List<java.lang.String> attributes, DiscoveryNodes nodes)
    • preferAttributesActiveInitializingShardsIt

      public ShardIterator preferAttributesActiveInitializingShardsIt​(java.util.List<java.lang.String> attributes, DiscoveryNodes nodes, int seed)
    • primaryShard

      public ShardRouting primaryShard()
    • replicaShards

      public java.util.List<ShardRouting> replicaShards()
    • replicaShardsWithState

      public java.util.List<ShardRouting> replicaShardsWithState​(ShardRoutingState... states)
    • shardsWithState

      public java.util.List<ShardRouting> shardsWithState​(ShardRoutingState state)
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object