mirror of https://github.com/apache/lucene.git
LUCENE-1549: add some more checks to CheckIndex
git-svn-id: https://svn.apache.org/repos/asf/lucene/java/trunk@748826 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
6248e14515
commit
166b92281f
|
@ -396,13 +396,19 @@ public class CheckIndex {
|
|||
final int numDocs = reader.numDocs();
|
||||
toLoseDocCount = numDocs;
|
||||
if (reader.hasDeletions()) {
|
||||
if (reader.deletedDocs.count() != info.getDelCount()) {
|
||||
throw new RuntimeException("delete count mismatch: info=" + info.getDelCount() + " vs deletedDocs.count()=" + reader.deletedDocs.count());
|
||||
}
|
||||
if (reader.deletedDocs.count() > reader.maxDoc()) {
|
||||
throw new RuntimeException("too many deleted docs: maxDoc()=" + reader.maxDoc() + " vs deletedDocs.count()=" + reader.deletedDocs.count());
|
||||
}
|
||||
if (info.docCount - numDocs != info.getDelCount()){
|
||||
throw new RuntimeException("delete count mismatch: info=" + info.getDelCount() + " vs reader=" + (info.docCount - numDocs));
|
||||
}
|
||||
segInfoStat.numDeleted = info.docCount - numDocs;
|
||||
msg("OK [" + (segInfoStat.numDeleted) + " deleted docs]");
|
||||
} else {
|
||||
if (info.getDelCount() != 0){
|
||||
if (info.getDelCount() != 0) {
|
||||
throw new RuntimeException("delete count mismatch: info=" + info.getDelCount() + " vs reader=" + (info.docCount - numDocs));
|
||||
}
|
||||
msg("OK");
|
||||
|
@ -433,6 +439,8 @@ public class CheckIndex {
|
|||
long termCount = 0;
|
||||
long totFreq = 0;
|
||||
long totPos = 0;
|
||||
final int maxDoc = reader.maxDoc();
|
||||
|
||||
while(termEnum.next()) {
|
||||
termCount++;
|
||||
final Term term = termEnum.term();
|
||||
|
@ -447,6 +455,9 @@ public class CheckIndex {
|
|||
final int freq = termPositions.freq();
|
||||
if (doc <= lastDoc)
|
||||
throw new RuntimeException("term " + term + ": doc " + doc + " <= lastDoc " + lastDoc);
|
||||
if (doc >= maxDoc)
|
||||
throw new RuntimeException("term " + term + ": doc " + doc + " >= maxDoc " + maxDoc);
|
||||
|
||||
lastDoc = doc;
|
||||
if (freq <= 0)
|
||||
throw new RuntimeException("term " + term + ": doc " + doc + ": freq " + freq + " is out of bounds");
|
||||
|
|
Loading…
Reference in New Issue