Interface IndicesClusterStateService.AllocatedIndices<T extends IndicesClusterStateService.Shard,​U extends IndicesClusterStateService.AllocatedIndex<T>>

    • Method Detail

      • createIndex

        U createIndex​(IndexMetaData indexMetaData,
                      java.util.List<IndexEventListener> builtInIndexListener)
               throws java.io.IOException
        Creates a new IndexService for the given metadata.
        Parameters:
        indexMetaData - the index metadata to create the index for
        builtInIndexListener - a list of built-in lifecycle IndexEventListener that should should be used along side with the per-index listeners
        Throws:
        ResourceAlreadyExistsException - if the index already exists.
        java.io.IOException
      • verifyIndexIsDeleted

        IndexMetaData verifyIndexIsDeleted​(Index index,
                                           ClusterState clusterState)
        Verify that the contents on disk for the given index is deleted; if not, delete the contents. This method assumes that an index is already deleted in the cluster state and/or explicitly through index tombstones.
        Parameters:
        index - Index to make sure its deleted from disk
        clusterState - ClusterState to ensure the index is not part of it
        Returns:
        IndexMetaData for the index loaded from disk
      • removeIndex

        void removeIndex​(Index index,
                         IndicesClusterStateService.AllocatedIndices.IndexRemovalReason reason,
                         java.lang.String extraInfo)
        Removes the given index from this service and releases all associated resources. Persistent parts of the index like the shards files, state and transaction logs are kept around in the case of a disaster recovery.
        Parameters:
        index - the index to remove
        reason - the reason to remove the index
        extraInfo - extra information that will be used for logging and reporting
      • indexService

        @Nullable
        U indexService​(Index index)
        Returns an IndexService for the specified index if exists otherwise returns null.
      • createShard

        T createShard​(ShardRouting shardRouting,
                      RecoveryState recoveryState,
                      PeerRecoveryTargetService recoveryTargetService,
                      PeerRecoveryTargetService.RecoveryListener recoveryListener,
                      RepositoriesService repositoriesService,
                      java.util.function.Consumer<IndexShard.ShardFailure> onShardFailure,
                      java.util.function.Consumer<ShardId> globalCheckpointSyncer,
                      RetentionLeaseSyncer retentionLeaseSyncer)
               throws java.io.IOException
        Creates a shard for the specified shard routing and starts recovery.
        Parameters:
        shardRouting - the shard routing
        recoveryState - the recovery state
        recoveryTargetService - recovery service for the target
        recoveryListener - a callback when recovery changes state (finishes or fails)
        repositoriesService - service responsible for snapshot/restore
        onShardFailure - a callback when this shard fails
        globalCheckpointSyncer - a callback when this shard syncs the global checkpoint
        retentionLeaseSyncer - a callback when this shard syncs retention leases
        Returns:
        a new shard
        Throws:
        java.io.IOException - if an I/O exception occurs when creating the shard
      • getShardOrNull

        default T getShardOrNull​(ShardId shardId)
        Returns shard for the specified id if it exists otherwise returns null.