Class OpenSearchRunner

  • All Implemented Interfaces:
    Closeable, AutoCloseable

    public class OpenSearchRunner
    extends Object
    implements Closeable
    OpenSearchRunner manages multiple OpenSearch instances.
    Author:
    shinsuke
    • Constructor Detail

      • OpenSearchRunner

        public OpenSearchRunner()
    • Method Detail

      • main

        public static void main​(String[] args)
      • isClosed

        public boolean isClosed()
        Check if a cluster runner is closed.
        Returns:
        true if a runner is closed.
      • clean

        public void clean()
        Delete all configuration files and directories.
      • onBuild

        public OpenSearchRunner onBuild​(OpenSearchRunner.Builder builder)
        Configure each OpenSearch instance by builder.
        Parameters:
        builder - builder to create a cluster
        Returns:
        this instance
      • build

        public void build​(OpenSearchRunner.Configs configs)
        Create and start OpenSearch cluster with Configs instance.
        Parameters:
        configs - configuration
      • build

        public void build​(String... args)
        Create and start OpenSearch cluster with arguments.
        Parameters:
        args - artuments for starting a cluster
      • execute

        protected void execute​(int id)
      • getAvailableHttpPort

        protected int getAvailableHttpPort​(int number)
      • putIfAbsent

        protected void putIfAbsent​(org.opensearch.common.settings.Settings.Builder builder,
                                   String key,
                                   String value)
      • setMaxHttpPort

        public void setMaxHttpPort​(int maxHttpPort)
      • getNode

        public org.opensearch.node.Node getNode​(int i)
        Return a node by the node index.
        Parameters:
        i - A node index
        Returns:
        null if the node is not found
      • startNode

        public boolean startNode​(int i)
        Start a closed node.
        Parameters:
        i - the number of nodes
        Returns:
        true if the node is started.
      • getNode

        public org.opensearch.node.Node getNode​(String name)
        Return a node by the name.
        Parameters:
        name - A node name
        Returns:
        null if the node is not found by the name
      • getNodeIndex

        public int getNodeIndex​(org.opensearch.node.Node node)
        Return a node index.
        Parameters:
        node - node to check an index
        Returns:
        -1 if the node does not exist.
      • getNodeSize

        public int getNodeSize()
        Return the number of nodes.
        Returns:
        the number of nodes
      • print

        public void print​(String line)
      • createDir

        protected void createDir​(Path path)
      • node

        public org.opensearch.node.Node node()
        Return an available node.
        Returns:
        node
      • masterNode

        public org.opensearch.node.Node masterNode()
        Return a master node.
        Returns:
        master node
      • nonMasterNode

        public org.opensearch.node.Node nonMasterNode()
        Return a non-master node.
        Returns:
        non-master node
      • client

        public org.opensearch.client.Client client()
        Return an opensearch client.
        Returns:
        client
      • admin

        public org.opensearch.client.AdminClient admin()
        Return an opensearch admin client.
        Returns:
        admin client
      • ensureGreen

        public org.opensearch.cluster.health.ClusterHealthStatus ensureGreen​(String... indices)
        Wait for green state of a cluster.
        Parameters:
        indices - indices to check status
        Returns:
        cluster health status
      • ensureYellow

        public org.opensearch.cluster.health.ClusterHealthStatus ensureYellow​(String... indices)
        Wait for yellow state of a cluster.
        Parameters:
        indices - indices to check status
        Returns:
        cluster health status
      • waitForRelocation

        public org.opensearch.cluster.health.ClusterHealthStatus waitForRelocation()
      • flush

        public org.opensearch.action.admin.indices.flush.FlushResponse flush()
      • flush

        public org.opensearch.action.admin.indices.flush.FlushResponse flush​(boolean force)
      • flush

        public org.opensearch.action.admin.indices.flush.FlushResponse flush​(OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.flush.FlushRequestBuilder> builder)
      • refresh

        public org.opensearch.action.admin.indices.refresh.RefreshResponse refresh()
      • refresh

        public org.opensearch.action.admin.indices.refresh.RefreshResponse refresh​(OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.refresh.RefreshRequestBuilder> builder)
      • upgrade

        public org.opensearch.action.admin.indices.upgrade.post.UpgradeResponse upgrade()
      • upgrade

        public org.opensearch.action.admin.indices.upgrade.post.UpgradeResponse upgrade​(boolean upgradeOnlyAncientSegments)
      • upgrade

        public org.opensearch.action.admin.indices.upgrade.post.UpgradeResponse upgrade​(OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.upgrade.post.UpgradeRequestBuilder> builder)
      • forceMerge

        public org.opensearch.action.admin.indices.forcemerge.ForceMergeResponse forceMerge()
      • forceMerge

        public org.opensearch.action.admin.indices.forcemerge.ForceMergeResponse forceMerge​(int maxNumSegments,
                                                                                            boolean onlyExpungeDeletes,
                                                                                            boolean flush)
      • forceMerge

        public org.opensearch.action.admin.indices.forcemerge.ForceMergeResponse forceMerge​(OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.forcemerge.ForceMergeRequestBuilder> builder)
      • openIndex

        public org.opensearch.action.admin.indices.open.OpenIndexResponse openIndex​(String index)
      • openIndex

        public org.opensearch.action.admin.indices.open.OpenIndexResponse openIndex​(String index,
                                                                                    OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.open.OpenIndexRequestBuilder> builder)
      • closeIndex

        public org.opensearch.action.support.master.AcknowledgedResponse closeIndex​(String index)
      • closeIndex

        public org.opensearch.action.support.master.AcknowledgedResponse closeIndex​(String index,
                                                                                    OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.close.CloseIndexRequestBuilder> builder)
      • createIndex

        public org.opensearch.action.admin.indices.create.CreateIndexResponse createIndex​(String index,
                                                                                          org.opensearch.common.settings.Settings settings)
      • createIndex

        public org.opensearch.action.admin.indices.create.CreateIndexResponse createIndex​(String index,
                                                                                          OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.create.CreateIndexRequestBuilder> builder)
      • indexExists

        public boolean indexExists​(String index)
      • deleteIndex

        public org.opensearch.action.support.master.AcknowledgedResponse deleteIndex​(String index)
      • deleteIndex

        public org.opensearch.action.support.master.AcknowledgedResponse deleteIndex​(String index,
                                                                                     OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.delete.DeleteIndexRequestBuilder> builder)
      • createMapping

        public org.opensearch.action.support.master.AcknowledgedResponse createMapping​(String index,
                                                                                       String mappingSource)
      • createMapping

        public org.opensearch.action.support.master.AcknowledgedResponse createMapping​(String index,
                                                                                       org.opensearch.core.xcontent.XContentBuilder source)
      • createMapping

        public org.opensearch.action.support.master.AcknowledgedResponse createMapping​(String index,
                                                                                       OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.mapping.put.PutMappingRequestBuilder> builder)
      • insert

        public org.opensearch.action.index.IndexResponse insert​(String index,
                                                                String id,
                                                                String source)
      • delete

        public org.opensearch.action.delete.DeleteResponse delete​(String index,
                                                                  String id)
      • count

        public org.opensearch.action.search.SearchResponse count​(String index)
      • search

        public org.opensearch.action.search.SearchResponse search​(String index,
                                                                  org.opensearch.index.query.QueryBuilder queryBuilder,
                                                                  org.opensearch.search.sort.SortBuilder<?> sort,
                                                                  int from,
                                                                  int size)
      • getAlias

        public org.opensearch.action.admin.indices.alias.get.GetAliasesResponse getAlias​(String alias)
      • getAlias

        public org.opensearch.action.admin.indices.alias.get.GetAliasesResponse getAlias​(String alias,
                                                                                         OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.alias.get.GetAliasesRequestBuilder> builder)
      • updateAlias

        public org.opensearch.action.support.master.AcknowledgedResponse updateAlias​(String alias,
                                                                                     String[] addedIndices,
                                                                                     String[] deletedIndices)
      • updateAlias

        public org.opensearch.action.support.master.AcknowledgedResponse updateAlias​(OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.alias.IndicesAliasesRequestBuilder> builder)
      • clusterService

        public org.opensearch.cluster.service.ClusterService clusterService()
      • getInstance

        public <T> T getInstance​(Class<T> clazz)
      • getClusterName

        public String getClusterName()