mirror of https://github.com/apache/lucene.git
SOLR-9777: IndexFingerprinting should use getCombinedCoreAndDeletesKey() instead of getCoreCacheKey() for per-segment caching
This commit is contained in:
parent
322ad88960
commit
b017731203
|
@ -406,6 +406,8 @@ Other Changes
|
||||||
|
|
||||||
* SOLR-9944: Map the nodes function name to the GatherNodesStream (Joel Bernstein)
|
* SOLR-9944: Map the nodes function name to the GatherNodesStream (Joel Bernstein)
|
||||||
|
|
||||||
|
* SOLR-9777: IndexFingerprinting should use getCombinedCoreAndDeletesKey() instead of getCoreCacheKey() for per-segment caching (Ishan Chattopadhyaya)
|
||||||
|
|
||||||
================== 6.3.0 ==================
|
================== 6.3.0 ==================
|
||||||
|
|
||||||
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
|
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
|
||||||
|
|
|
@ -1687,7 +1687,7 @@ public final class SolrCore implements SolrInfoMBean, Closeable {
|
||||||
public IndexFingerprint getIndexFingerprint(SolrIndexSearcher searcher, LeafReaderContext ctx, long maxVersion)
|
public IndexFingerprint getIndexFingerprint(SolrIndexSearcher searcher, LeafReaderContext ctx, long maxVersion)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
IndexFingerprint f = null;
|
IndexFingerprint f = null;
|
||||||
f = perSegmentFingerprintCache.get(ctx.reader().getCoreCacheKey());
|
f = perSegmentFingerprintCache.get(ctx.reader().getCombinedCoreAndDeletesKey());
|
||||||
// fingerprint is either not cached or
|
// fingerprint is either not cached or
|
||||||
// if we want fingerprint only up to a version less than maxVersionEncountered in the segment, or
|
// if we want fingerprint only up to a version less than maxVersionEncountered in the segment, or
|
||||||
// documents were deleted from segment for which fingerprint was cached
|
// documents were deleted from segment for which fingerprint was cached
|
||||||
|
@ -1698,7 +1698,7 @@ public final class SolrCore implements SolrInfoMBean, Closeable {
|
||||||
// cache fingerprint for the segment only if all the versions in the segment are included in the fingerprint
|
// cache fingerprint for the segment only if all the versions in the segment are included in the fingerprint
|
||||||
if (f.getMaxVersionEncountered() == f.getMaxInHash()) {
|
if (f.getMaxVersionEncountered() == f.getMaxInHash()) {
|
||||||
log.info("Caching fingerprint for searcher:{} leafReaderContext:{} mavVersion:{}", searcher, ctx, maxVersion);
|
log.info("Caching fingerprint for searcher:{} leafReaderContext:{} mavVersion:{}", searcher, ctx, maxVersion);
|
||||||
perSegmentFingerprintCache.put(ctx.reader().getCoreCacheKey(), f);
|
perSegmentFingerprintCache.put(ctx.reader().getCombinedCoreAndDeletesKey(), f);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue