📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 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;