Class 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 Detail

      • 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
        Returns:
        a List of shards
      • 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
      • 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)
      • replicaShards

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

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