Package org.elasticsearch.index.shard
Class ShardPath
java.lang.Object
org.elasticsearch.index.shard.ShardPath
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
deleteLeftoverShardDirectory(org.apache.logging.log4j.Logger logger, NodeEnvironment env, ShardLock lock, IndexSettings indexSettings, Consumer<Path[]> listener)
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.boolean
boolean
exists()
Returns the data-path root for this shard.Returns the state-path root for this shard.int
hashCode()
boolean
Returnstrue
iff the data location is a custom data location and therefore outside of the nodes configured data paths.static ShardPath
loadShardPath(org.apache.logging.log4j.Logger logger, NodeEnvironment env, ShardId shardId, String customDataPath)
This method walks through the nodes shard paths to find the data and state path for the given shard.static ShardPath
loadShardPath(org.apache.logging.log4j.Logger logger, ShardId shardId, String customDataPath, Path[] availableShardPaths, int nodeLockId, Path sharedDataPath)
This method walks through the nodes shard paths to find the data and state path for the given shard.static ShardPath
selectNewPathForShard(NodeEnvironment env, ShardId shardId, IndexSettings indexSettings, long avgShardSizeInBytes, Map<Path,Integer> dataPathToShardCount)
toString()
-
Field Details
-
INDEX_FOLDER_NAME
- See Also:
- Constant Field Values
-
TRANSLOG_FOLDER_NAME
- See Also:
- Constant Field Values
-
-
Constructor Details
-
ShardPath
-
-
Method Details
-
resolveTranslog
-
resolveIndex
-
getDataPath
-
exists
public boolean exists() -
getShardId
-
getShardStatePath
-
getRootDataPath
Returns the data-path root for this shard. The root is a parent ofgetDataPath()
without the index name and the shard ID. -
getRootStatePath
Returns the state-path root for this shard. The root is a parent ofgetRootStatePath()
()} without the index name and the shard ID. -
isCustomDataPath
public boolean isCustomDataPath()Returnstrue
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 IOExceptionThis method walks through the nodes shard paths to find the data and state path for the given shard. If multiple directories with a valid shard state exist the one with the highest version will be used. 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[] availableShardPaths, int nodeLockId, Path sharedDataPath) throws IOExceptionThis method walks through the nodes shard paths to find the data and state path for the given shard. If multiple directories with a valid shard state exist the one with the highest version will be used. 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 IOExceptionThis 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, long avgShardSizeInBytes, Map<Path,Integer> dataPathToShardCount) throws IOException- Throws:
IOException
-
equals
-
hashCode
public int hashCode() -
toString
-