You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@lucene.apache.org by mi...@apache.org on 2010/02/08 21:31:26 UTC
svn commit: r907781 - in /lucene/java/trunk/src/java/org/apache/lucene:
index/SegmentInfo.java index/SegmentReader.java util/BitVector.java
Author: mikemccand
Date: Mon Feb 8 20:31:25 2010
New Revision: 907781
URL: http://svn.apache.org/viewvc?rev=907781&view=rev
Log:
add assert to catch mismatched delete count on write; add detail to exception messages on corruption
Modified:
lucene/java/trunk/src/java/org/apache/lucene/index/SegmentInfo.java
lucene/java/trunk/src/java/org/apache/lucene/index/SegmentReader.java
lucene/java/trunk/src/java/org/apache/lucene/util/BitVector.java
Modified: lucene/java/trunk/src/java/org/apache/lucene/index/SegmentInfo.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/index/SegmentInfo.java?rev=907781&r1=907780&r2=907781&view=diff
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/index/SegmentInfo.java (original)
+++ lucene/java/trunk/src/java/org/apache/lucene/index/SegmentInfo.java Mon Feb 8 20:31:25 2010
@@ -533,6 +533,7 @@
*/
void write(IndexOutput output)
throws IOException {
+ assert delCount <= docCount: "delCount=" + delCount + " docCount=" + docCount + " segment=" + name;
output.writeString(name);
output.writeInt(docCount);
output.writeLong(delGen);
Modified: lucene/java/trunk/src/java/org/apache/lucene/index/SegmentReader.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/index/SegmentReader.java?rev=907781&r1=907780&r2=907781&view=diff
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/index/SegmentReader.java (original)
+++ lucene/java/trunk/src/java/org/apache/lucene/index/SegmentReader.java Mon Feb 8 20:31:25 2010
@@ -613,7 +613,7 @@
deletedDocsRef = new AtomicInteger(1);
assert checkDeletedCounts();
if (deletedDocs.size() != si.docCount) {
- throw new CorruptIndexException("document count mismatch: deleted docs count " + deletedDocs.size() + " vs segment doc count " + si.docCount);
+ throw new CorruptIndexException("document count mismatch: deleted docs count " + deletedDocs.size() + " vs segment doc count " + si.docCount + " segment=" + si.name);
}
} else
assert si.getDelCount() == 0;
Modified: lucene/java/trunk/src/java/org/apache/lucene/util/BitVector.java
URL: http://svn.apache.org/viewvc/lucene/java/trunk/src/java/org/apache/lucene/util/BitVector.java?rev=907781&r1=907780&r2=907781&view=diff
==============================================================================
--- lucene/java/trunk/src/java/org/apache/lucene/util/BitVector.java (original)
+++ lucene/java/trunk/src/java/org/apache/lucene/util/BitVector.java Mon Feb 8 20:31:25 2010
@@ -63,7 +63,7 @@
/** Sets the value of <code>bit</code> to one. */
public final void set(int bit) {
if (bit >= size) {
- throw new ArrayIndexOutOfBoundsException(bit);
+ throw new ArrayIndexOutOfBoundsException("bit=" + bit + " size=" + size);
}
bits[bit >> 3] |= 1 << (bit & 7);
count = -1;
@@ -73,7 +73,7 @@
* returns true if bit was already set */
public final boolean getAndSet(int bit) {
if (bit >= size) {
- throw new ArrayIndexOutOfBoundsException(bit);
+ throw new ArrayIndexOutOfBoundsException("bit=" + bit + " size=" + size);
}
final int pos = bit >> 3;
final int v = bits[pos];