版本: 6.8-8.9
简而言之,当 Elasticsearch 无法访问指定索引路径的提交历史时会出现此错误。这可能是由于权限不正确、路径不存在或索引损坏导致的。要解决此问题,您可以检查并更正文件权限,验证索引路径是否存在,或尝试修复损坏的索引。如果这些步骤不起作用,您可能需要从备份恢复索引。
日志上下文 #
日志 “unable to list commits at [” + indexPath + “]” 类名是 TruncateTranslogAction.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用:
try {
commits = DirectoryReader.listCommits(indexDirectory);
} catch (IndexNotFoundException infe) {
throw new ElasticsearchException("unable to find a valid shard at [" + indexPath + "]", infe);
} catch (IOException e) {
throw new ElasticsearchException("unable to list commits at [" + indexPath + "]", e);
}
// Retrieve the generation and UUID from the existing data
final MapcommitData = new HashMap<>(commits.get(commits.size() - 1).getUserData());
final String translogUUID = commitData.get(Translog.TRANSLOG_UUID_KEY);





