Class ShardPath

java.lang.Object
org.elasticsearch.index.shard.ShardPath

public final class ShardPath extends Object
  • Field Details

  • Constructor Details

    • ShardPath

      public ShardPath(boolean isCustomDataPath, Path dataPath, Path shardStatePath, ShardId shardId)
  • Method Details

    • resolveTranslog

      public Path resolveTranslog()
    • resolveIndex

      public Path resolveIndex()
    • getDataPath

      public Path getDataPath()
    • exists

      public boolean exists()
    • getShardId

      public ShardId getShardId()
    • getShardStatePath

      public Path getShardStatePath()
    • getRootDataPath

      public Path getRootDataPath()
      Returns the data-path root for this shard. The root is a parent of getDataPath() without the index name and the shard ID.
    • getRootStatePath

      public Path getRootStatePath()
      Returns the state-path root for this shard. The root is a parent of getRootStatePath() ()} without the index name and the shard ID.
    • isCustomDataPath

      public boolean isCustomDataPath()
      Returns true iff the data location is a custom data location and therefore outside of the nodes configured data paths.
    • loadShardPath

      public static ShardPath loadShardPath(org.apache.logging.log4j.Logger logger, NodeEnvironment env, ShardId shardId, String customDataPath) throws IOException
      This method resolves the node's shard path using the given NodeEnvironment. Note: this method resolves custom data locations for the shard if such a custom data path is provided.
      Throws:
      IOException
    • loadShardPath

      public static ShardPath loadShardPath(org.apache.logging.log4j.Logger logger, ShardId shardId, String customDataPath, Path shardPath, Path sharedDataPath) throws IOException
      This method resolves the node's shard path using the given data paths. Note: this method resolves custom data locations for the shard.
      Throws:
      IOException
    • deleteLeftoverShardDirectory

      public static void deleteLeftoverShardDirectory(org.apache.logging.log4j.Logger logger, NodeEnvironment env, ShardLock lock, IndexSettings indexSettings, Consumer<Path> listener) throws IOException
      This method tries to delete left-over shards where the index name has been reused but the UUID is different to allow the new shard to be allocated.
      Throws:
      IOException
    • selectNewPathForShard

      public static ShardPath selectNewPathForShard(NodeEnvironment env, ShardId shardId, IndexSettings indexSettings)
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object