Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
9.0
-
None
-
Steps to reproduce
- Use a Linux machine.
- Build commit ea2c8ba of Solr as described in the section below.
- Build the films collection as described below.
- Start the server using the command ./bin/solr start -f -p 8983 -s /tmp/home
- Request the URL given in the bug description.
Compiling the server
git clone https://github.com/apache/lucene-solr cd lucene-solr git checkout ea2c8ba ant compile cd solr ant server
Building the collection and reproducing the bug
We followed Exercise 2 from the Solr Tutorial.
mkdir -p /tmp/home echo '<?xml version="1.0" encoding="UTF-8" ?><solr></solr>' > /tmp/home/solr.xml
In one terminal start a Solr instance in foreground:
./bin/solr start -f -p 8983 -s /tmp/home
In another terminal, create a collection of movies, with no shards and no replication, and initialize it:
bin/solr create -c films curl -X POST -H 'Content-type:application/json' --data-binary '{"add-field": {"name":"name", "type":"text_general", "multiValued":false, "stored":true}}' http://localhost:8983/solr/films/schema curl -X POST -H 'Content-type:application/json' --data-binary '{"add-copy-field" : {"source":"*","dest":"_text_"}}' http://localhost:8983/solr/films/schema ./bin/post -c films example/films/films.json curl -v "URL_BUG"
Please check the issue description below to find the "URL_BUG" that will allow you to reproduce the issue reported.
Steps to reproduce Use a Linux machine. Build commit ea2c8ba of Solr as described in the section below. Build the films collection as described below. Start the server using the command ./bin/solr start -f -p 8983 -s /tmp/home Request the URL given in the bug description. Compiling the server git clone https://github.com/apache/lucene-solr cd lucene-solr git checkout ea2c8ba ant compile cd solr ant server Building the collection and reproducing the bug We followed Exercise 2 from the Solr Tutorial . mkdir -p /tmp/home echo '<?xml version="1.0" encoding="UTF-8" ?><solr></solr>' > /tmp/home/solr.xml In one terminal start a Solr instance in foreground: ./bin/solr start -f -p 8983 -s /tmp/home In another terminal, create a collection of movies, with no shards and no replication, and initialize it: bin/solr create -c films curl -X POST -H 'Content-type:application/json' --data-binary '{"add-field": {"name":"name", "type":"text_general", "multiValued":false, "stored":true}}' http://localhost:8983/solr/films/schema curl -X POST -H 'Content-type:application/json' --data-binary '{"add-copy-field" : {"source":"*","dest":"_text_"}}' http://localhost:8983/solr/films/schema ./bin/post -c films example/films/films.json curl -v "URL_BUG" Please check the issue description below to find the "URL_BUG" that will allow you to reproduce the issue reported.
Description
Requesting the following URL causes Solr to return an HTTP 500 error response:
solr/films/select?group=true&distrib=true&group.main=true
The error response seems to be caused by the following uncaught exception:
ERROR (qtp689401025-18) [ x:films] o.a.s.s.HttpSolrCall null:java.lang.ArrayIndexOutOfBoundsException: 0 at org.apache.solr.search.grouping.endresulttransformer.MainEndResultTransformer.transform(MainEndResultTransformer.java:36) at org.apache.solr.handler.component.QueryComponent.groupedFinishStage(QueryComponent.java:638) at org.apache.solr.handler.component.QueryComponent.finishStage(QueryComponent.java:601) at org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:432) at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:199) at org.apache.solr.core.SolrCore.execute(SolrCore.java:2559) at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:711) at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:516) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:394) at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:340) [...]
There is accessed the first element of an empty array of strings, stored in the member 'org.apache.solr.search.grouping.GroupingSpecification.fields'. There is an attept to put some strings to the array at org/apache/solr/handler/component/QueryComponent.java[283]; however, the string "group.field" is not present in params of the processed org.apache.solr.request.SolrQueryRequest instance.
Look into section 'Environment' above to see installation step of Solr and films collection.
We found this issue and ~70 more like this using Diffblue Microservices Testing. Find more information on this fuzz testing campaign.
Attachments
Issue Links
- Is contained by
-
SOLR-13404 group.query doesn't work in distrib mode when group.format=simple
- Closed