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
  • 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.Exception
      Description copied from class: EnvironmentAwareCommand
      Execute the command with the initialized Environment.
      Specified by:
      execute in class EnvironmentAwareCommand
      Throws:
      java.lang.Exception
    • validateBeforeLock

      protected boolean validateBeforeLock​(org.elasticsearch.cli.Terminal terminal, Environment env)
      Validate that the command can run before taking any locks.
      Parameters:
      terminal - the terminal to print to
      env - 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.UserException
      Process the paths. Locks for the paths is held during this method invocation.
      Parameters:
      terminal - the terminal to use for messages
      dataPaths - the paths of the node to process
      options - the command line options
      env - the env of the node to process
      Throws:
      java.io.IOException
      org.elasticsearch.cli.UserException
    • toNodePaths

      protected NodeEnvironment.NodePath[] toNodePaths​(java.nio.file.Path[] dataPaths)