Class ElasticsearchNodeCommand
java.lang.Object
org.elasticsearch.cli.Command
org.elasticsearch.cli.EnvironmentAwareCommand
org.elasticsearch.cluster.coordination.ElasticsearchNodeCommand
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
- Direct Known Subclasses:
DetachClusterCommand
,NodeRepurposeCommand
,OverrideNodeVersionCommand
,RemoveCorruptedShardDataCommand
,RemoveCustomsCommand
,RemoveSettingsCommand
,UnsafeBootstrapMasterCommand
public abstract class ElasticsearchNodeCommand extends EnvironmentAwareCommand
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ElasticsearchNodeCommand.UnknownCondition
static class
ElasticsearchNodeCommand.UnknownMetadataCustom
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
ABORTED_BY_USER_MSG
protected static java.lang.String
CS_MISSING_MSG
protected static java.lang.String
DELIMITER
protected static java.lang.String
FAILED_TO_OBTAIN_NODE_LOCK_MSG
static org.elasticsearch.common.xcontent.NamedXContentRegistry
namedXContentRegistry
-
Constructor Summary
Constructors Constructor Description ElasticsearchNodeCommand(java.lang.String description)
-
Method Summary
Modifier and Type Method Description static ClusterState
clusterState(Environment environment, PersistedClusterStateService.OnDiskState onDiskState)
protected void
confirm(org.elasticsearch.cli.Terminal terminal, java.lang.String msg)
static PersistedClusterStateService
createPersistedClusterStateService(Settings settings, java.nio.file.Path[] dataPaths)
void
execute(org.elasticsearch.cli.Terminal terminal, joptsimple.OptionSet options, Environment env)
Execute the command with the initializedEnvironment
.static org.elasticsearch.common.collect.Tuple<java.lang.Long,ClusterState>
loadTermAndClusterState(PersistedClusterStateService psf, Environment env)
protected abstract void
processNodePaths(org.elasticsearch.cli.Terminal terminal, java.nio.file.Path[] dataPaths, int nodeLockId, joptsimple.OptionSet options, Environment env)
Process the paths.protected void
processNodePaths(org.elasticsearch.cli.Terminal terminal, joptsimple.OptionSet options, Environment env)
protected NodeEnvironment.NodePath[]
toNodePaths(java.nio.file.Path[] dataPaths)
protected boolean
validateBeforeLock(org.elasticsearch.cli.Terminal terminal, Environment env)
Validate that the command can run before taking any locks.Methods inherited from class org.elasticsearch.cli.EnvironmentAwareCommand
createEnv, createEnv, execute
-
Field Details
-
DELIMITER
protected static final java.lang.String DELIMITER- See Also:
- Constant Field Values
-
FAILED_TO_OBTAIN_NODE_LOCK_MSG
protected static final java.lang.String FAILED_TO_OBTAIN_NODE_LOCK_MSG- See Also:
- Constant Field Values
-
ABORTED_BY_USER_MSG
protected static final java.lang.String ABORTED_BY_USER_MSG- See Also:
- Constant Field Values
-
CS_MISSING_MSG
protected static final java.lang.String CS_MISSING_MSG- See Also:
- Constant Field Values
-
namedXContentRegistry
public static final org.elasticsearch.common.xcontent.NamedXContentRegistry namedXContentRegistry
-
-
Constructor Details
-
ElasticsearchNodeCommand
public ElasticsearchNodeCommand(java.lang.String description)
-
-
Method Details
-
createPersistedClusterStateService
public static PersistedClusterStateService createPersistedClusterStateService(Settings settings, java.nio.file.Path[] dataPaths) throws java.io.IOException- Throws:
java.io.IOException
-
clusterState
public static ClusterState clusterState(Environment environment, PersistedClusterStateService.OnDiskState onDiskState) -
loadTermAndClusterState
public static org.elasticsearch.common.collect.Tuple<java.lang.Long,ClusterState> loadTermAndClusterState(PersistedClusterStateService psf, Environment env) throws java.io.IOException- Throws:
java.io.IOException
-
processNodePaths
protected void processNodePaths(org.elasticsearch.cli.Terminal terminal, joptsimple.OptionSet options, Environment env) throws java.io.IOException, org.elasticsearch.cli.UserException- Throws:
java.io.IOException
org.elasticsearch.cli.UserException
-
confirm
protected void confirm(org.elasticsearch.cli.Terminal terminal, java.lang.String msg) -
execute
public final void execute(org.elasticsearch.cli.Terminal terminal, joptsimple.OptionSet options, Environment env) throws java.lang.ExceptionDescription copied from class:EnvironmentAwareCommand
Execute the command with the initializedEnvironment
.- Specified by:
execute
in classEnvironmentAwareCommand
- Throws:
java.lang.Exception
-
validateBeforeLock
Validate that the command can run before taking any locks.- Parameters:
terminal
- the terminal to print toenv
- the env to validate.- Returns:
- true to continue, false to stop (must print message in validate).
-
processNodePaths
protected abstract void processNodePaths(org.elasticsearch.cli.Terminal terminal, java.nio.file.Path[] dataPaths, int nodeLockId, joptsimple.OptionSet options, Environment env) throws java.io.IOException, org.elasticsearch.cli.UserExceptionProcess the paths. Locks for the paths is held during this method invocation.- Parameters:
terminal
- the terminal to use for messagesdataPaths
- the paths of the node to processoptions
- the command line optionsenv
- the env of the node to process- Throws:
java.io.IOException
org.elasticsearch.cli.UserException
-
toNodePaths
-