Interface IndicesClusterStateService.Shard

All Known Implementing Classes:
IndexShard
Enclosing class:
IndicesClusterStateService

public static interface IndicesClusterStateService.Shard
  • Method Details

    • shardId

      ShardId shardId()
      Returns the shard id of this shard.
    • routingEntry

      ShardRouting routingEntry()
      Returns the latest cluster routing entry received with this shard.
    • state

      Returns the latest internal shard state.
    • recoveryState

      RecoveryState recoveryState()
      Returns the recovery state associated with this shard.
    • getTimestampRange

      @Nullable ShardLongFieldRange getTimestampRange()
      Returns:
      the range of the @timestamp field for this shard, or ShardLongFieldRange.EMPTY if this field is not found, or ShardLongFieldRange.UNKNOWN if its range is not fixed.
    • updateShardState

      void updateShardState(ShardRouting shardRouting, long primaryTerm, BiConsumer<IndexShard,ActionListener<PrimaryReplicaSyncer.ResyncTask>> primaryReplicaSyncer, long applyingClusterStateVersion, Set<String> inSyncAllocationIds, IndexShardRoutingTable routingTable) throws IOException
      Updates the shard state based on an incoming cluster state: - Updates and persists the new routing value. - Updates the primary term if this shard is a primary. - Updates the allocation ids that are tracked by the shard if it is a primary. See ReplicationTracker.updateFromMaster(long, Set, IndexShardRoutingTable) for details.
      Parameters:
      shardRouting - the new routing entry
      primaryTerm - the new primary term
      primaryReplicaSyncer - the primary-replica resync action to trigger when a term is increased on a primary
      applyingClusterStateVersion - the cluster state version being applied when updating the allocation IDs from the master
      inSyncAllocationIds - the allocation ids of the currently in-sync shard copies
      routingTable - the shard routing table
      Throws:
      IndexShardRelocatedException - if shard is marked as relocated and relocation aborted
      IOException - if shard state could not be persisted