Package org.codelibs.opensearch.runner
Class OpenSearchRunner
- java.lang.Object
-
- org.codelibs.opensearch.runner.OpenSearchRunner
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public class OpenSearchRunner extends Object implements Closeable
OpenSearchRunner manages multiple OpenSearch instances.- Author:
- shinsuke
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceOpenSearchRunner.BuilderThis builder sets parameters to create a nodestatic interfaceOpenSearchRunner.BuilderCallback<T>Callback function.static classOpenSearchRunner.ConfigsOpenSearchRunner configuration.
-
Field Summary
Fields Modifier and Type Field Description protected intbaseHttpPortprotected StringbasePathprotected StringclusterNameprotected static StringCONFIG_DIRprotected StringconfPathprotected static StringDATA_DIRprotected StringdataPathprotected booleandisableESLoggerprotected static StringELASTICSEARCH_YAMLprotected List<org.opensearch.env.Environment>envListprotected StringindexStoreTypeprotected static StringLOG4J2_PROPERTIESprotected static StringLOGS_DIRprotected StringlogsPathprotected intmaxHttpPortprotected static String[]MODULE_TYPESprotected Collection<Class<? extends org.opensearch.plugins.Plugin>>moduleListprotected StringmoduleTypesprotected List<OpenSearchRunnerNode>nodeListprotected intnumOfNodeprotected Collection<Class<? extends org.opensearch.plugins.Plugin>>pluginListprotected StringpluginTypesprotected booleanprintOnFailureprotected OpenSearchRunner.BuildersettingsBuilderprotected booleanuseLogger
-
Constructor Summary
Constructors Constructor Description OpenSearchRunner()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description org.opensearch.client.AdminClientadmin()Return an opensearch admin client.voidbuild(String... args)Create and start OpenSearch cluster with arguments.voidbuild(OpenSearchRunner.Configs configs)Create and start OpenSearch cluster with Configs instance.voidclean()Delete all configuration files and directories.org.opensearch.client.Clientclient()Return an opensearch client.voidclose()Close a cluster runner.org.opensearch.action.support.master.AcknowledgedResponsecloseIndex(String index)org.opensearch.action.support.master.AcknowledgedResponsecloseIndex(String index, OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.close.CloseIndexRequestBuilder> builder)org.opensearch.cluster.service.ClusterServiceclusterService()org.opensearch.action.search.SearchResponsecount(String index)org.opensearch.action.search.SearchResponsecount(String index, OpenSearchRunner.BuilderCallback<org.opensearch.action.search.SearchRequestBuilder> builder)protected voidcreateDir(Path path)org.opensearch.action.admin.indices.create.CreateIndexResponsecreateIndex(String index, OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.create.CreateIndexRequestBuilder> builder)org.opensearch.action.admin.indices.create.CreateIndexResponsecreateIndex(String index, org.opensearch.common.settings.Settings settings)org.opensearch.action.support.master.AcknowledgedResponsecreateMapping(String index, String mappingSource)org.opensearch.action.support.master.AcknowledgedResponsecreateMapping(String index, OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.mapping.put.PutMappingRequestBuilder> builder)org.opensearch.action.support.master.AcknowledgedResponsecreateMapping(String index, org.opensearch.core.xcontent.XContentBuilder source)org.opensearch.action.delete.DeleteResponsedelete(String index, String id)org.opensearch.action.delete.DeleteResponsedelete(String index, String id, OpenSearchRunner.BuilderCallback<org.opensearch.action.delete.DeleteRequestBuilder> builder)org.opensearch.action.support.master.AcknowledgedResponsedeleteIndex(String index)org.opensearch.action.support.master.AcknowledgedResponsedeleteIndex(String index, OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.delete.DeleteIndexRequestBuilder> builder)org.opensearch.cluster.health.ClusterHealthStatusensureGreen(String... indices)Wait for green state of a cluster.org.opensearch.cluster.health.ClusterHealthStatusensureYellow(String... indices)Wait for yellow state of a cluster.protected voidexecute(int id)org.opensearch.action.admin.indices.flush.FlushResponseflush()org.opensearch.action.admin.indices.flush.FlushResponseflush(boolean force)org.opensearch.action.admin.indices.flush.FlushResponseflush(OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.flush.FlushRequestBuilder> builder)org.opensearch.action.admin.indices.forcemerge.ForceMergeResponseforceMerge()org.opensearch.action.admin.indices.forcemerge.ForceMergeResponseforceMerge(int maxNumSegments, boolean onlyExpungeDeletes, boolean flush)org.opensearch.action.admin.indices.forcemerge.ForceMergeResponseforceMerge(OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.forcemerge.ForceMergeRequestBuilder> builder)org.opensearch.action.admin.indices.alias.get.GetAliasesResponsegetAlias(String alias)org.opensearch.action.admin.indices.alias.get.GetAliasesResponsegetAlias(String alias, OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.alias.get.GetAliasesRequestBuilder> builder)protected intgetAvailableHttpPort(int number)StringgetClusterName()<T> TgetInstance(Class<T> clazz)org.opensearch.node.NodegetNode(int i)Return a node by the node index.org.opensearch.node.NodegetNode(String name)Return a node by the name.intgetNodeIndex(org.opensearch.node.Node node)Return a node index.intgetNodeSize()Return the number of nodes.booleanindexExists(String index)booleanindexExists(String index, OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.exists.indices.IndicesExistsRequestBuilder> builder)org.opensearch.action.index.IndexResponseinsert(String index, String id, String source)org.opensearch.action.index.IndexResponseinsert(String index, String id, OpenSearchRunner.BuilderCallback<org.opensearch.action.index.IndexRequestBuilder> builder)booleanisClosed()Check if a cluster runner is closed.static voidmain(String[] args)org.opensearch.node.NodemasterNode()Return a master node.static OpenSearchRunner.ConfigsnewConfigs()org.opensearch.node.Nodenode()Return an available node.org.opensearch.node.NodenonMasterNode()Return a non-master node.OpenSearchRunneronBuild(OpenSearchRunner.Builder builder)Configure each OpenSearch instance by builder.org.opensearch.action.admin.indices.open.OpenIndexResponseopenIndex(String index)org.opensearch.action.admin.indices.open.OpenIndexResponseopenIndex(String index, OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.open.OpenIndexRequestBuilder> builder)voidprint(String line)protected voidputIfAbsent(org.opensearch.common.settings.Settings.Builder builder, String key, String value)org.opensearch.action.admin.indices.refresh.RefreshResponserefresh()org.opensearch.action.admin.indices.refresh.RefreshResponserefresh(OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.refresh.RefreshRequestBuilder> builder)org.opensearch.action.search.SearchResponsesearch(String index, OpenSearchRunner.BuilderCallback<org.opensearch.action.search.SearchRequestBuilder> builder)org.opensearch.action.search.SearchResponsesearch(String index, org.opensearch.index.query.QueryBuilder queryBuilder, org.opensearch.search.sort.SortBuilder<?> sort, int from, int size)voidsetMaxHttpPort(int maxHttpPort)booleanstartNode(int i)Start a closed node.org.opensearch.action.support.master.AcknowledgedResponseupdateAlias(String alias, String[] addedIndices, String[] deletedIndices)org.opensearch.action.support.master.AcknowledgedResponseupdateAlias(OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.alias.IndicesAliasesRequestBuilder> builder)org.opensearch.action.admin.indices.upgrade.post.UpgradeResponseupgrade()org.opensearch.action.admin.indices.upgrade.post.UpgradeResponseupgrade(boolean upgradeOnlyAncientSegments)org.opensearch.action.admin.indices.upgrade.post.UpgradeResponseupgrade(OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.upgrade.post.UpgradeRequestBuilder> builder)org.opensearch.cluster.health.ClusterHealthStatuswaitForRelocation()
-
-
-
Field Detail
-
LOG4J2_PROPERTIES
protected static final String LOG4J2_PROPERTIES
- See Also:
- Constant Field Values
-
ELASTICSEARCH_YAML
protected static final String ELASTICSEARCH_YAML
- See Also:
- Constant Field Values
-
MODULE_TYPES
protected static final String[] MODULE_TYPES
-
DATA_DIR
protected static final String DATA_DIR
- See Also:
- Constant Field Values
-
LOGS_DIR
protected static final String LOGS_DIR
- See Also:
- Constant Field Values
-
CONFIG_DIR
protected static final String CONFIG_DIR
- See Also:
- Constant Field Values
-
nodeList
protected List<OpenSearchRunnerNode> nodeList
-
envList
protected List<org.opensearch.env.Environment> envList
-
moduleList
protected Collection<Class<? extends org.opensearch.plugins.Plugin>> moduleList
-
pluginList
protected Collection<Class<? extends org.opensearch.plugins.Plugin>> pluginList
-
maxHttpPort
protected int maxHttpPort
-
basePath
protected String basePath
-
confPath
protected String confPath
-
dataPath
protected String dataPath
-
logsPath
protected String logsPath
-
numOfNode
protected int numOfNode
-
baseHttpPort
protected int baseHttpPort
-
clusterName
protected String clusterName
-
indexStoreType
protected String indexStoreType
-
useLogger
protected boolean useLogger
-
disableESLogger
protected boolean disableESLogger
-
printOnFailure
protected boolean printOnFailure
-
moduleTypes
protected String moduleTypes
-
pluginTypes
protected String pluginTypes
-
settingsBuilder
protected OpenSearchRunner.Builder settingsBuilder
-
-
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.
-
close
public void close() throws IOExceptionClose a cluster runner.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException- i/o exception
-
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)
-
indexExists
public boolean indexExists(String index, OpenSearchRunner.BuilderCallback<org.opensearch.action.admin.indices.exists.indices.IndicesExistsRequestBuilder> builder)
-
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)
-
insert
public org.opensearch.action.index.IndexResponse insert(String index, String id, OpenSearchRunner.BuilderCallback<org.opensearch.action.index.IndexRequestBuilder> builder)
-
delete
public org.opensearch.action.delete.DeleteResponse delete(String index, String id, OpenSearchRunner.BuilderCallback<org.opensearch.action.delete.DeleteRequestBuilder> builder)
-
count
public org.opensearch.action.search.SearchResponse count(String index)
-
count
public org.opensearch.action.search.SearchResponse count(String index, OpenSearchRunner.BuilderCallback<org.opensearch.action.search.SearchRequestBuilder> builder)
-
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)
-
search
public org.opensearch.action.search.SearchResponse search(String index, OpenSearchRunner.BuilderCallback<org.opensearch.action.search.SearchRequestBuilder> builder)
-
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()
-
newConfigs
public static OpenSearchRunner.Configs newConfigs()
-
-