당신의 solr 버전을 모른 채로 대답하는 것은 매우 어렵습니다.
필자의 경험에 비추어 볼 때, solr은 다른 인덱스 파일을 복사합니다 (새 파일 다음에 타임 스탬프). 그러나 색인이 병합되면 전체 사본이 트리거됩니다. 여기
어떤 관련 티켓
https://issues.apache.org/jira/browse/SOLR-6640
** 갱신 2017년 11월 27일 **
이 5 배 분기에서 관련 부분,
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();
}
입니다
그래서 3 명이 넘습니다. 0 개의 사용하지 않는 색인 파일은 경고 메시지 & 전체 사본을 트리거합니다. 마스터에서 인덱스를 최적화하거나 병합하려고 시도하고 fullCopy가 복제되었는지 확인하려고합니다.
슬레이브는 마스터 색인 사본 만 보관하며 자체 정리는하지 않습니다. 이상하게도 마스터는 아직 사용하지 않는 색인을 보관합니다. 테스트 할 수 있다면 색인을 백업하고 핵심을 "최적화"하십시오. 슬레이브에서이 문제를 재현 할 수 있는지 확인하십시오. –