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/06/08 01:40:42 UTC
svn commit: r1684087 - in /lucene/dev/branches/branch_5x: ./ lucene/
lucene/sandbox/ lucene/sandbox/src/java/org/apache/lucene/bkdtree/
lucene/sandbox/src/test/org/apache/lucene/bkdtree/
Author: mikemccand
Date: Sun Jun 7 23:40:42 2015
New Revision: 1684087
URL: http://svn.apache.org/r1684087
Log:
LUCENE-6477: include delegate heap usage in Accountable; fix javadocs
Modified:
lucene/dev/branches/branch_5x/ (props changed)
lucene/dev/branches/branch_5x/lucene/ (props changed)
lucene/dev/branches/branch_5x/lucene/sandbox/ (props changed)
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDTreeDocValuesFormat.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDTreeDocValuesProducer.java
lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/bkdtree/TestBKDTree.java
Modified: lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDTreeDocValuesFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDTreeDocValuesFormat.java?rev=1684087&r1=1684086&r2=1684087&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDTreeDocValuesFormat.java (original)
+++ lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDTreeDocValuesFormat.java Sun Jun 7 23:40:42 2015
@@ -40,7 +40,7 @@ import org.apache.lucene.index.SegmentWr
* smaller rectangles, until the smallest rectangles have approximately
* between X/2 and X (X default is 1024) points in them, at which point
* such leaf cells are written as a block to disk, while the index tree
- * structure recording how space was sub-divided is loaded into HEAP
+ * structure records how space was sub-divided is loaded into HEAP
* at search time. At search time, the tree is recursed based on whether
* each of left or right child overlap with the query shape, and once
* a leaf block is reached, all documents in that leaf block are collected
Modified: lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDTreeDocValuesProducer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDTreeDocValuesProducer.java?rev=1684087&r1=1684086&r2=1684087&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDTreeDocValuesProducer.java (original)
+++ lucene/dev/branches/branch_5x/lucene/sandbox/src/java/org/apache/lucene/bkdtree/BKDTreeDocValuesProducer.java Sun Jun 7 23:40:42 2015
@@ -153,6 +153,7 @@ class BKDTreeDocValuesProducer extends D
for(Map.Entry<String,BKDTreeReader> ent : treeReaders.entrySet()) {
resources.add(Accountables.namedAccountable("field " + ent.getKey(), ent.getValue()));
}
+ resources.add(Accountables.namedAccountable("delegate", delegate));
return resources;
}
@@ -164,6 +165,6 @@ class BKDTreeDocValuesProducer extends D
@Override
public long ramBytesUsed() {
- return ramBytesUsed.get();
+ return ramBytesUsed.get() + delegate.ramBytesUsed();
}
}
Modified: lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/bkdtree/TestBKDTree.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/bkdtree/TestBKDTree.java?rev=1684087&r1=1684086&r2=1684087&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/bkdtree/TestBKDTree.java (original)
+++ lucene/dev/branches/branch_5x/lucene/sandbox/src/test/org/apache/lucene/bkdtree/TestBKDTree.java Sun Jun 7 23:40:42 2015
@@ -35,7 +35,10 @@ import org.apache.lucene.index.Term;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.SimpleCollector;
+import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.util.Accountable;
+import org.apache.lucene.util.Accountables;
import org.apache.lucene.util.FixedBitSet;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.LuceneTestCase.Nightly;
@@ -593,4 +596,24 @@ public class TestBKDTree extends LuceneT
int y = BKDTreeWriter.encodeLon(Math.nextAfter(180.0, Double.POSITIVE_INFINITY));
assertTrue(y < Integer.MAX_VALUE);
}
+
+ public void testAccountableHasDelegate() throws Exception {
+ Directory dir = newDirectory();
+ IndexWriterConfig iwc = newIndexWriterConfig();
+ Codec codec = TestUtil.alwaysDocValuesFormat(new BKDTreeDocValuesFormat());
+ iwc.setCodec(codec);
+ RandomIndexWriter w = new RandomIndexWriter(random(), dir, iwc);
+ Document doc = new Document();
+ doc.add(new BKDPointField("field", -18.2861, 147.7));
+ w.addDocument(doc);
+ IndexReader r = w.getReader();
+
+ // We can't wrap with "exotic" readers because the BKD query must see the BKDDVFormat:
+ IndexSearcher s = newSearcher(r, false);
+ // Need to run a query so the DV field is really loaded:
+ TopDocs hits = s.search(new BKDPointInBBoxQuery("field", -30, 0, 140, 150), 1);
+ assertEquals(1, hits.totalHits);
+ assertTrue(Accountables.toString((Accountable) r.leaves().get(0).reader()).contains("delegate"));
+ IOUtils.close(r, w, dir);
+ }
}