mirror of https://github.com/apache/lucene.git
BKDWriter: also fix split to read ord after docID
This commit is contained in:
parent
f859bab35f
commit
5b3e07a98a
|
@ -171,11 +171,13 @@ final class OfflinePointReader extends PointReader {
|
||||||
byte[] buffer = new byte[bytesPerDoc];
|
byte[] buffer = new byte[bytesPerDoc];
|
||||||
while (count > 0) {
|
while (count > 0) {
|
||||||
in.readBytes(buffer, 0, buffer.length);
|
in.readBytes(buffer, 0, buffer.length);
|
||||||
|
|
||||||
long ord;
|
long ord;
|
||||||
if (longOrds) {
|
if (singleValuePerDoc == false) {
|
||||||
ord = readLong(buffer, packedBytesLength);
|
ord = readInt(buffer, packedBytesLength+Integer.BYTES);
|
||||||
|
} else if (longOrds) {
|
||||||
|
ord = readLong(buffer, packedBytesLength+Integer.BYTES);
|
||||||
} else {
|
} else {
|
||||||
// This is either ord (multi-valued case) or docID (which we use as ord in the single valued case):
|
|
||||||
ord = readInt(buffer, packedBytesLength);
|
ord = readInt(buffer, packedBytesLength);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -864,22 +864,20 @@ public class TestBKD extends LuceneTestCase {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Throwable t;
|
Throwable t = expectThrows(CorruptIndexException.class, () -> {
|
||||||
|
verify(dir, docValues, null, numDims, numBytesPerDim, 50, 0.1);
|
||||||
if (TEST_ASSERTS_ENABLED) {
|
});
|
||||||
t = expectThrows(AssertionError.class, () -> {
|
|
||||||
verify(dir, docValues, null, numDims, numBytesPerDim, 50, 0.1);
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
t = expectThrows(ArrayIndexOutOfBoundsException.class, () -> {
|
|
||||||
verify(dir, docValues, null, numDims, numBytesPerDim, 50, 0.1);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
assertCorruptionDetected(t);
|
assertCorruptionDetected(t);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertCorruptionDetected(Throwable t) {
|
private void assertCorruptionDetected(Throwable t) {
|
||||||
|
if (t instanceof CorruptIndexException) {
|
||||||
|
if (t.getMessage().contains("checksum failed (hardware problem?)")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for(Throwable suppressed : t.getSuppressed()) {
|
for(Throwable suppressed : t.getSuppressed()) {
|
||||||
if (suppressed instanceof CorruptIndexException) {
|
if (suppressed instanceof CorruptIndexException) {
|
||||||
if (suppressed.getMessage().contains("checksum failed (hardware problem?)")) {
|
if (suppressed.getMessage().contains("checksum failed (hardware problem?)")) {
|
||||||
|
@ -887,7 +885,7 @@ public class TestBKD extends LuceneTestCase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fail("did not see a supporessed CorruptIndexException");
|
fail("did not see a suppressed CorruptIndexException");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testTieBreakOrder() throws Exception {
|
public void testTieBreakOrder() throws Exception {
|
||||||
|
|
Loading…
Reference in New Issue