Class BlobStoreTestUtil
java.lang.Object
org.opensearch.repositories.blobstore.BlobStoreTestUtil
public final class BlobStoreTestUtil
extends java.lang.Object
-
Constructor Summary
Constructors Constructor Description BlobStoreTestUtil() -
Method Summary
Modifier and Type Method Description static voidassertBlobsByPrefix(org.opensearch.repositories.blobstore.BlobStoreRepository repository, org.opensearch.common.blobstore.BlobPath path, java.lang.String prefix, java.util.Map<java.lang.String,org.opensearch.common.blobstore.BlobMetadata> blobs)static voidassertConsistency(org.opensearch.repositories.blobstore.BlobStoreRepository repository, java.util.concurrent.Executor executor)Assert that there are no unreferenced indices or unreferenced root-level metadata blobs in any repository.static voidassertCorruptionVisible(org.opensearch.repositories.blobstore.BlobStoreRepository repository, java.util.Map<java.lang.String,java.util.Set<java.lang.String>> indexToFiles)static voidassertRepoConsistency(InternalTestCluster testCluster, java.lang.String repoName)static longcreateDanglingIndex(org.opensearch.repositories.blobstore.BlobStoreRepository repository, java.lang.String name, java.util.Set<java.lang.String> files)static org.opensearch.cluster.service.ClusterServicemockClusterService()Creates a mockedClusterServicefor use inBlobStoreRepositoryrelated tests that mocks out all the necessary functionality to makeBlobStoreRepositorywork.static org.opensearch.cluster.service.ClusterServicemockClusterService(org.opensearch.cluster.metadata.RepositoryMetadata metadata)Creates a mockedClusterServicefor use inBlobStoreRepositoryrelated tests that mocks out all the necessary functionality to makeBlobStoreRepositorywork.
-
Constructor Details
-
BlobStoreTestUtil
public BlobStoreTestUtil()
-
-
Method Details
-
assertRepoConsistency
public static void assertRepoConsistency(InternalTestCluster testCluster, java.lang.String repoName) -
assertConsistency
public static void assertConsistency(org.opensearch.repositories.blobstore.BlobStoreRepository repository, java.util.concurrent.Executor executor)Assert that there are no unreferenced indices or unreferenced root-level metadata blobs in any repository. TODO: Expand the logic here to also check for unreferenced segment blobs and shard level metadata- Parameters:
repository- BlobStoreRepository to checkexecutor- Executor to run all repository calls on. This is needed since the productionBlobStoreRepositoryimplementations assert that all IO inducing calls happen on the generic or snapshot thread-pools and hence callers of this assertion must pass an executor on those when using such an implementation.
-
createDanglingIndex
public static long createDanglingIndex(org.opensearch.repositories.blobstore.BlobStoreRepository repository, java.lang.String name, java.util.Set<java.lang.String> files) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException- Throws:
java.lang.InterruptedExceptionjava.util.concurrent.ExecutionException
-
assertCorruptionVisible
public static void assertCorruptionVisible(org.opensearch.repositories.blobstore.BlobStoreRepository repository, java.util.Map<java.lang.String,java.util.Set<java.lang.String>> indexToFiles) -
assertBlobsByPrefix
public static void assertBlobsByPrefix(org.opensearch.repositories.blobstore.BlobStoreRepository repository, org.opensearch.common.blobstore.BlobPath path, java.lang.String prefix, java.util.Map<java.lang.String,org.opensearch.common.blobstore.BlobMetadata> blobs) -
mockClusterService
public static org.opensearch.cluster.service.ClusterService mockClusterService()Creates a mockedClusterServicefor use inBlobStoreRepositoryrelated tests that mocks out all the necessary functionality to makeBlobStoreRepositorywork. Initializes the cluster state asClusterState.EMPTY_STATE.- Returns:
- Mock ClusterService
-
mockClusterService
public static org.opensearch.cluster.service.ClusterService mockClusterService(org.opensearch.cluster.metadata.RepositoryMetadata metadata)Creates a mockedClusterServicefor use inBlobStoreRepositoryrelated tests that mocks out all the necessary functionality to makeBlobStoreRepositorywork. Initializes the cluster state with aRepositoriesMetadatainstance that contains the givenmetadata.- Parameters:
metadata- RepositoryMetadata to initialize the cluster state with- Returns:
- Mock ClusterService
-