You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2015/10/29 20:51:37 UTC
svn commit: r1711351 - in /lucene/dev/trunk/lucene:
codecs/src/java/org/apache/lucene/codecs/simpletext/
core/src/java/org/apache/lucene/index/ core/src/test/org/apache/lucene/index/
test-framework/src/java/org/apache/lucene/index/
Author: mikemccand
Date: Thu Oct 29 19:51:37 2015
New Revision: 1711351
URL: http://svn.apache.org/viewvc?rev=1711351&view=rev
Log:
fix MismatchedLeafReader to carry over dimensional count/numBytes for each field; add some toString; improve test debuggability
Modified:
lucene/dev/trunk/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDimensionalReader.java
lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/MultiDimensionalValues.java
lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestDimensionalValues.java
lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/MismatchedLeafReader.java
lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java
Modified: lucene/dev/trunk/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDimensionalReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDimensionalReader.java?rev=1711351&r1=1711350&r2=1711351&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDimensionalReader.java (original)
+++ lucene/dev/trunk/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextDimensionalReader.java Thu Oct 29 19:51:37 2015
@@ -173,4 +173,9 @@ class SimpleTextDimensionalReader extend
public void close() throws IOException {
dataIn.close();
}
+
+ @Override
+ public String toString() {
+ return "SimpleTextDimensionalReader(segment=" + readState.segmentInfo.name + " maxDoc=" + readState.segmentInfo.maxDoc() + ")";
+ }
}
Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/MultiDimensionalValues.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/MultiDimensionalValues.java?rev=1711351&r1=1711350&r2=1711351&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/MultiDimensionalValues.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/MultiDimensionalValues.java Thu Oct 29 19:51:37 2015
@@ -40,7 +40,6 @@ class MultiDimensionalValues extends Dim
return leaves.get(0).reader().getDimensionalValues();
}
- boolean anyReal = false;
List<DimensionalValues> values = new ArrayList<>();
List<Integer> docBases = new ArrayList<>();
for (int i = 0; i < size; i++) {
@@ -76,4 +75,20 @@ class MultiDimensionalValues extends Dim
});
}
}
+
+ @Override
+ public String toString() {
+ StringBuilder b = new StringBuilder();
+ b.append("MultiDimensionalValues(");
+ for(int i=0;i<subs.size();i++) {
+ if (i > 0) {
+ b.append(", ");
+ }
+ b.append("docBase=");
+ b.append(docBases.get(i));
+ b.append(" sub=" + subs.get(i));
+ }
+ b.append(')');
+ return b.toString();
+ }
}
Modified: lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestDimensionalValues.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestDimensionalValues.java?rev=1711351&r1=1711350&r2=1711351&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestDimensionalValues.java (original)
+++ lucene/dev/trunk/lucene/core/src/test/org/apache/lucene/index/TestDimensionalValues.java Thu Oct 29 19:51:37 2015
@@ -929,7 +929,7 @@ public class TestDimensionalValues exten
}
//System.out.println("visit check docID=" + docID);
for(int dim=0;dim<numDims;dim++) {
- //System.out.println(" dim=" + dim + " value=" + new BytesRef(packedValue, dim*bytesPerDim, bytesPerDim));
+ //System.out.println(" dim=" + dim + " value=" + new BytesRef(packedValue, dim*numBytesPerDim, numBytesPerDim));
if (BKDUtil.compare(numBytesPerDim, packedValue, dim, queryMin[dim], 0) < 0 ||
BKDUtil.compare(numBytesPerDim, packedValue, dim, queryMax[dim], 0) > 0) {
//System.out.println(" no");
@@ -990,8 +990,23 @@ public class TestDimensionalValues exten
}
int limit = Math.max(expected.length(), hits.length());
+ int failCount = 0;
+ int successCount = 0;
for(int id=0;id<limit;id++) {
- assertEquals("docID=" + id, expected.get(id), hits.get(id));
+ if (expected.get(id) != hits.get(id)) {
+ System.out.println("FAIL: id=" + id);
+ failCount++;
+ } else {
+ successCount++;
+ }
+ }
+
+ if (failCount != 0) {
+ for(int docID=0;docID<r.maxDoc();docID++) {
+ System.out.println(" docID=" + docID + " id=" + idValues.get(docID));
+ }
+
+ fail(failCount + " docs failed; " + successCount + " docs succeeded");
}
}
} finally {
Modified: lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/MismatchedLeafReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/MismatchedLeafReader.java?rev=1711351&r1=1711350&r2=1711351&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/MismatchedLeafReader.java (original)
+++ lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/MismatchedLeafReader.java Thu Oct 29 19:51:37 2015
@@ -67,7 +67,8 @@ public class MismatchedLeafReader extend
oldInfo.getDocValuesType(), // docValuesType
oldInfo.getDocValuesGen(), // dvGen
oldInfo.attributes(), // attributes
- 0, 0); // dimensional count,numBytes
+ oldInfo.getDimensionCount(),
+ oldInfo.getDimensionNumBytes());
shuffled.set(i, newInfo);
}
Modified: lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java?rev=1711351&r1=1711350&r2=1711351&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java (original)
+++ lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/index/MockRandomMergePolicy.java Thu Oct 29 19:51:37 2015
@@ -25,6 +25,7 @@ import java.util.List;
import java.util.Map;
import java.util.Random;
+import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.TestUtil;
/**
@@ -156,12 +157,18 @@ public class MockRandomMergePolicy exten
int thingToDo = r.nextInt(7);
if (thingToDo == 0) {
// simple no-op FilterReader
+ if (LuceneTestCase.VERBOSE) {
+ System.out.println("NOTE: MockRandomMergePolicy now swaps in a SlowCodecReaderWrapper for merging reader=" + readers.get(i));
+ }
readers.set(i, SlowCodecReaderWrapper.wrap(new FilterLeafReader(readers.get(i))));
} else if (thingToDo == 1) {
// renumber fields
// NOTE: currently this only "blocks" bulk merges just by
// being a FilterReader. But it might find bugs elsewhere,
// and maybe the situation can be improved in the future.
+ if (LuceneTestCase.VERBOSE) {
+ System.out.println("NOTE: MockRandomMergePolicy now swaps in a MismatchedLeafReader for merging reader=" + readers.get(i));
+ }
readers.set(i, SlowCodecReaderWrapper.wrap(new MismatchedLeafReader(readers.get(i), r)));
}
// otherwise, reader is unchanged