SOLR从站正在执行完整复制,因为它无法删除未使用的索引目录
当一个从机复制索引时,它会创建一个名称格式为index.timestamp
的索引目录,当它复制时它会尝试清理并创建一个新的带有新时间戳的文件夹,但在我的情况下,它不会发生,每当我看到此警告和从属触发fullCopy
Unable to cleanup unused lucene index files so we must do a full copy instead
任何人都可以为什么奴隶无法清理未使用的索引文件。
谢谢
如果不知道你的solr版本,很难回答。
根据我的经验,solr复制不同的索引文件(更新时间戳)。 但是,如果您的索引合并,则会触发完整副本。
这是一些相关的门票
https://issues.apache.org/jira/browse/SOLR-6640
**更新11/27/2017 **
这是5x分支的一个相关部分,
https://github.com/apache/lucene-solr/blob/branch_5x/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java#L398-L418
try {
IndexWriter indexWriter = writer.get();
int c = 0;
indexWriter.deleteUnusedFiles();
while (hasUnusedFiles(indexDir, commit)) {
indexWriter.deleteUnusedFiles();
LOG.info("Sleeping for 1000ms to wait for unused lucene index files to be delete-able");
Thread.sleep(1000);
c++;
if (c >= 30) {
LOG.warn("IndexFetcher unable to cleanup unused lucene index files so we must do a full copy instead");
isFullCopyNeeded = true;
break;
}
}
if (c > 0) {
LOG.info("IndexFetcher slept for " + (c * 1000) + "ms for unused lucene index files to be delete-able");
}
} finally {
writer.decref();
}
所以,你有超过30个未使用的索引文件,这将触发警告消息和完整复制。 我会尝试优化或合并来自主服务器的索引,并查看是否复制了fullCopy。
链接地址: http://www.djcxy.com/p/40891.html上一篇: SOLR slave is doing full Copy as it was not able to Delete unused Index dir
下一篇: ReactJS: Pass parameter from rails to react router to component