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);
+  }
 }