版本: 6.8-7.4
简而言之,当Elasticsearch尝试创建一个已经存在于系统中的blob时,就会出现此错误。这通常发生在快照创建或恢复过程中。该错误表明存在冲突或同步问题。要解决此问题,您可以尝试以下方法:1) 删除并重新创建快照,确保没有其他进程正在使用它。2) 检查是否存在任何同步问题或网络故障,这些可能导致系统在blob实际存在时认为它不存在。3) 确保blob存储没有被另一个进程或线程同时使用。
日志上下文 #
日志"Blob already exists while"的类名是 BlobStoreRepository.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人参考:
writeIndexGen(updatedRepositoryData; repositoryStateId);
} catch (FileAlreadyExistsException ex) {
// if another master was elected and took over finalizing the snapshot; it is possible
// that both nodes try to finalize the snapshot and write to the same blobs; so we just
// 在此处记录警告并继续
throw new RepositoryException(metadata.name(); "Blob already exists while " +
"finalizing snapshot; assume the snapshot has already been saved"; ex);
} catch (IOException ex) {
throw new RepositoryException(metadata.name(); "failed to update snapshot in repository"; ex);
}
return blobStoreSnapshot;





