You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jb...@apache.org on 2014/10/30 20:02:49 UTC

svn commit: r1635587 - in /lucene/dev/branches/branch_5x: ./ solr/ solr/core/ solr/core/src/java/org/apache/solr/search/ solr/core/src/test-files/solr/collection1/conf/ solr/core/src/test/org/apache/solr/response/

Author: jbernste
Date: Thu Oct 30 19:02:48 2014
New Revision: 1635587

URL: http://svn.apache.org/r1635587
Log:
SOLR-6584 Export handler causes bug in prefetch with very small indexes.

Modified:
    lucene/dev/branches/branch_5x/   (props changed)
    lucene/dev/branches/branch_5x/solr/   (props changed)
    lucene/dev/branches/branch_5x/solr/core/   (props changed)
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java
    lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/collection1/conf/solrconfig-sortingresponse.xml
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/response/TestSortingResponseWriter.java

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java?rev=1635587&r1=1635586&r2=1635587&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java Thu Oct 30 19:02:48 2014
@@ -26,6 +26,7 @@ import org.apache.solr.common.util.Named
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.common.params.SolrParams;
 
+
 import java.io.IOException;
 import java.util.Map;
 import java.util.Set;
@@ -147,10 +148,11 @@ public class ExportQParserPlugin extends
     }
 
     private ScoreDoc[] getScoreDocs(int howMany) {
-      ScoreDoc[] docs = new ScoreDoc[howMany];
+      ScoreDoc[] docs = new ScoreDoc[Math.min(totalHits, howMany)];
       for(int i=0; i<docs.length; i++) {
         docs[i] = new ScoreDoc(i,0);
       }
+
       return docs;
     }
 
@@ -161,9 +163,11 @@ public class ExportQParserPlugin extends
         Map context = req.getContext();
         context.put("export", sets);
         context.put("totalHits", totalHits);
-
       }
-      return new TopDocs(totalHits, getScoreDocs(howMany), 0.0f);
+
+      ScoreDoc[] scoreDocs = getScoreDocs(howMany);
+      assert scoreDocs.length <= totalHits;
+      return new TopDocs(totalHits, scoreDocs, 0.0f);
     }
 
     public void setScorer(Scorer scorer) throws IOException {

Modified: lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/collection1/conf/solrconfig-sortingresponse.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/collection1/conf/solrconfig-sortingresponse.xml?rev=1635587&r1=1635586&r2=1635587&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/collection1/conf/solrconfig-sortingresponse.xml (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/collection1/conf/solrconfig-sortingresponse.xml Thu Oct 30 19:02:48 2014
@@ -34,6 +34,20 @@
     <str name="distrib">false</str>
   </lst>
 
+  <query>
+
+    <enableLazyFieldLoading>true</enableLazyFieldLoading>
+
+    <queryResultWindowSize>20</queryResultWindowSize>
+
+    <queryResultMaxDocsCached>200</queryResultMaxDocsCached>
+
+    <documentCache class="solr.LRUCache"
+                   size="512"
+                   initialSize="512"
+                   autowarmCount="0"/>
+  </query>
+
 
   <arr name="components">
       <str>query</str>

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/response/TestSortingResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/response/TestSortingResponseWriter.java?rev=1635587&r1=1635586&r2=1635587&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/response/TestSortingResponseWriter.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/response/TestSortingResponseWriter.java Thu Oct 30 19:02:48 2014
@@ -140,5 +140,11 @@ public class TestSortingResponseWriter e
     s =  h.query(req("q", "id:(1 2 3)", "qt", "/export", "fl", "intdv", "sort", "doubledv desc"));
     assertEquals(s, "{\"numFound\":3, \"docs\":[{\"intdv\":3},{\"intdv\":1},{\"intdv\":2}]}");
 
+    s =  h.query(req("q", "id:100000", "qt", "/export", "fl", "intdv", "sort", "doubledv desc"));
+    assertEquals(s, "{\"numFound\":0, \"docs\":[]}");
+
+
+
+
   }
 }