Hi,

I think I've discovered a bug with the JSONResponseWriter : starting
from the following query -

http://127.0.0.1:8080/solr-urbamet/select?q=(tout:1)&rows=0&sort=TITRE+desc&facet=true&facet.query=SUJET:b*&facet.field=SUJET&facet.prefix=b&facet.limit=1&facet.missing=true&wt=json&json.nl=arrarr

- which produced a NullPointerException (see the stacktrace below), I
played with the parameters and obtained the following results :

##PAGINATION
rows : starting from 0, the exception occurs until we pass a certain threshold
=> rows implicated

##SORTING
the rows threshold afore mentionned seems to be influenced by the
presence/absence of the sort parameter

##FACETS
facet=false => OK while facet=true => NullPointerException
=>facets implicated
--
facet.field absent => OK while facet.field=whatever => NullPointerException
=>facet.field implicated
--
facet.missing=false => OK while facet.missing=true => NullPointerException
=> facet.missing implicated
--
facet.limit=-1 or 0 => OK while facet.limit>0  => NullPointerException
=> facet.limit implicated
--
facet.query absent or facet.query = whatever => NullPointerException
=>facet.query not implicated
--
facet.offset=(several values or absent) => NullPointerException
=> facet.offset not implicated
--
=> facet.sort not implicated (true or false => NullPointerException)
--
=> facet.mincount not implicated (several values or absent =>
NullPointerException)

#ResponseWriter
wt=standard => ok while wt=json => NullPointerException
=> jsonwriter implicated
json.nl=flat or map => ok
=> jsonwriter 'arrarr' format implicated

I hope this debugging is readable and will help.
--
Grégoire Neuville

Stacktrace :

GRAVE: java.lang.NullPointerException
       at 
org.apache.solr.request.JSONWriter.writeStr(JSONResponseWriter.java:607)
       at 
org.apache.solr.request.JSONWriter.writeNamedListAsArrArr(JSONResponseWriter.java:245)
       at 
org.apache.solr.request.JSONWriter.writeNamedList(JSONResponseWriter.java:294)
       at 
org.apache.solr.request.TextResponseWriter.writeVal(TextResponseWriter.java:151)
       at 
org.apache.solr.request.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:175)
       at 
org.apache.solr.request.JSONWriter.writeNamedList(JSONResponseWriter.java:288)
       at 
org.apache.solr.request.TextResponseWriter.writeVal(TextResponseWriter.java:151)
       at 
org.apache.solr.request.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:175)
       at 
org.apache.solr.request.JSONWriter.writeNamedList(JSONResponseWriter.java:288)
       at 
org.apache.solr.request.TextResponseWriter.writeVal(TextResponseWriter.java:151)
       at 
org.apache.solr.request.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:175)
       at 
org.apache.solr.request.JSONWriter.writeNamedList(JSONResponseWriter.java:288)
       at 
org.apache.solr.request.JSONWriter.writeResponse(JSONResponseWriter.java:88)
       at 
org.apache.solr.request.JSONResponseWriter.write(JSONResponseWriter.java:49)
       at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:257)
       at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
       at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
       at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
       at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
       at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
       at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
       at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
       at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
       at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
       at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
       at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
       at java.lang.Thread.run(Thread.java:595)

Reply via email to