You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mv...@apache.org on 2011/07/11 15:48:08 UTC
svn commit: r1145176 - in /lucene/dev/branches/branch_3x/solr/src:
java/org/apache/solr/search/Grouping.java
test/org/apache/solr/TestGroupingSearch.java
Author: mvg
Date: Mon Jul 11 13:48:08 2011
New Revision: 1145176
URL: http://svn.apache.org/viewvc?rev=1145176&view=rev
Log:
SOLR-2564: Fixed ArrayIndexOutOfBoundsException when using simple format (3x branch)
Modified:
lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/search/Grouping.java
lucene/dev/branches/branch_3x/solr/src/test/org/apache/solr/TestGroupingSearch.java
Modified: lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/search/Grouping.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/search/Grouping.java?rev=1145176&r1=1145175&r2=1145176&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/search/Grouping.java (original)
+++ lucene/dev/branches/branch_3x/solr/src/java/org/apache/solr/search/Grouping.java Mon Jul 11 13:48:08 2011
@@ -540,7 +540,7 @@ public class Grouping {
}
}
- int len = Math.min(numGroups, docsGathered);
+ int len = docsGathered - offset;
if (offset > len) {
len = 0;
}
Modified: lucene/dev/branches/branch_3x/solr/src/test/org/apache/solr/TestGroupingSearch.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/solr/src/test/org/apache/solr/TestGroupingSearch.java?rev=1145176&r1=1145175&r2=1145176&view=diff
==============================================================================
--- lucene/dev/branches/branch_3x/solr/src/test/org/apache/solr/TestGroupingSearch.java (original)
+++ lucene/dev/branches/branch_3x/solr/src/test/org/apache/solr/TestGroupingSearch.java Mon Jul 11 13:48:08 2011
@@ -210,7 +210,22 @@ public class TestGroupingSearch extends
);
}
+ @Test
+ public void testGroupingSimpleFormatArrayIndexOutOfBoundsException() throws Exception {
+ assertU(add(doc("id", "1")));
+ assertU(add(doc("id", "2")));
+ assertU(add(doc("id", "3")));
+ assertU(commit());
+ assertJQ(
+ req("q", "*:*", "start", "1", "group", "true", "group.field", "id", "group.main", "true"),
+ "/response=={'numFound':3,'start':1,'docs':[{'id':'2'},{'id':'3'}]}"
+ );
+ assertJQ(
+ req("q", "*:*", "start", "1", "rows", "1", "group", "true", "group.field", "id", "group.main", "true"),
+ "/response=={'numFound':3,'start':1,'docs':[{'id':'2'}]}"
+ );
+ }
static String f = "foo_s1";
static String f2 = "foo2_i";