You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2021/02/21 16:23:30 UTC

[lucene-solr] branch master updated: LUCENE-9795: fix CheckIndex not to validate SortedDocValues as if they were BinaryDocValues

This is an automated email from the ASF dual-hosted git repository.

rmuir pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git


The following commit(s) were added to refs/heads/master by this push:
     new 107926e  LUCENE-9795: fix CheckIndex not to validate SortedDocValues as if they were BinaryDocValues
107926e is described below

commit 107926e486f8cd6bbfc8abb055c9f58fe56f9cbb
Author: Robert Muir <rm...@apache.org>
AuthorDate: Sun Feb 21 11:19:41 2021 -0500

    LUCENE-9795: fix CheckIndex not to validate SortedDocValues as if they were BinaryDocValues
    
    CheckIndex already validates SortedDocValues properly: reads every
    document's ordinal and validates derefing all the ordinals back to bytes
    from the terms dictionary.
    
    It should not do an additional (very slow) pass where it treats the
    field as if it were binary (doc -> ord -> byte[]), this is slow and
    doesn't validate any additional index data.
    
    Now that the term dictionary of SortedDocValues may be compressed, it is
    especially slow to misuse the docvalues field in this way.
---
 lucene/core/src/java/org/apache/lucene/index/CheckIndex.java | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java b/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
index 393135d..cb946ea 100644
--- a/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
+++ b/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
@@ -3385,7 +3385,6 @@ public final class CheckIndex implements Closeable {
       case SORTED:
         status.totalSortedFields++;
         checkDVIterator(fi, maxDoc, dvReader::getSorted);
-        checkBinaryDocValues(fi.name, maxDoc, dvReader.getSorted(fi), dvReader.getSorted(fi));
         checkSortedDocValues(fi.name, maxDoc, dvReader.getSorted(fi), dvReader.getSorted(fi));
         break;
       case SORTED_NUMERIC: