Package org.elasticsearch.repositories
Class RepositoriesService
java.lang.Object
org.elasticsearch.common.component.AbstractLifecycleComponent
org.elasticsearch.repositories.RepositoriesService
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,ClusterStateApplier,LifecycleComponent,Releasable
public class RepositoriesService extends AbstractLifecycleComponent implements ClusterStateApplier
Service responsible for maintaining and providing access to snapshot repositories on nodes.
-
Field Summary
-
Constructor Summary
Constructors Constructor Description RepositoriesService(Settings settings, ClusterService clusterService, TransportService transportService, java.util.Map<java.lang.String,Repository.Factory> typesRegistry, java.util.Map<java.lang.String,Repository.Factory> internalTypesRegistry, ThreadPool threadPool) -
Method Summary
Modifier and Type Method Description voidapplyClusterState(ClusterChangedEvent event)Checks if new repositories appeared in or disappeared from cluster metadata and updates current list of repositories accordingly.protected voiddoClose()protected voiddoStart()protected voiddoStop()voidregisterInternalRepository(java.lang.String name, java.lang.String type)voidregisterRepository(PutRepositoryRequest request, ActionListener<ClusterStateUpdateResponse> listener)Registers new repository in the clusterRepositoryrepository(java.lang.String repositoryName)Returns registered repositoryvoidunregisterInternalRepository(java.lang.String name)voidunregisterRepository(DeleteRepositoryRequest request, ActionListener<ClusterStateUpdateResponse> listener)Unregisters repository in the clustervoidverifyRepository(java.lang.String repositoryName, ActionListener<java.util.List<DiscoveryNode>> listener)Methods inherited from class org.elasticsearch.common.component.AbstractLifecycleComponent
addLifecycleListener, close, lifecycleState, removeLifecycleListener, start, stop
-
Constructor Details
-
RepositoriesService
public RepositoriesService(Settings settings, ClusterService clusterService, TransportService transportService, java.util.Map<java.lang.String,Repository.Factory> typesRegistry, java.util.Map<java.lang.String,Repository.Factory> internalTypesRegistry, ThreadPool threadPool)
-
-
Method Details
-
registerRepository
public void registerRepository(PutRepositoryRequest request, ActionListener<ClusterStateUpdateResponse> listener)Registers new repository in the clusterThis method can be only called on the master node. It tries to create a new repository on the master and if it was successful it adds new repository to cluster metadata.
- Parameters:
request- register repository requestlistener- register repository listener
-
unregisterRepository
public void unregisterRepository(DeleteRepositoryRequest request, ActionListener<ClusterStateUpdateResponse> listener)Unregisters repository in the clusterThis method can be only called on the master node. It removes repository information from cluster metadata.
- Parameters:
request- unregister repository requestlistener- unregister repository listener
-
verifyRepository
public void verifyRepository(java.lang.String repositoryName, ActionListener<java.util.List<DiscoveryNode>> listener) -
applyClusterState
Checks if new repositories appeared in or disappeared from cluster metadata and updates current list of repositories accordingly.- Specified by:
applyClusterStatein interfaceClusterStateApplier- Parameters:
event- cluster changed event
-
repository
Returns registered repositoryThis method is called only on the master node
- Parameters:
repositoryName- repository name- Returns:
- registered repository
- Throws:
RepositoryMissingException- if repository with such name isn't registered
-
registerInternalRepository
public void registerInternalRepository(java.lang.String name, java.lang.String type) -
unregisterInternalRepository
public void unregisterInternalRepository(java.lang.String name) -
doStart
protected void doStart()- Specified by:
doStartin classAbstractLifecycleComponent
-
doStop
protected void doStop()- Specified by:
doStopin classAbstractLifecycleComponent
-
doClose
protected void doClose() throws java.io.IOException- Specified by:
doClosein classAbstractLifecycleComponent- Throws:
java.io.IOException
-