One of my colleagues ran into this testing the JSON Facet API. A malformed JSON Facet API range query seems to get a NPE and then devolves into saying no live servers to handle the request. It looks like the FacetRangeProcessor should check the inputs before trying to getField. Does this seem reasonable?
The problematic query: json.facet={price:{type:range,start:0,end:600,gap:50}} The fixed query: json.facet={prices:{field:price,type:range,start:0,end:600,gap:50}} The stack trace: INFO - 2017-02-24 20:54:52.217; [c:gettingstarted s:shard1 r:core_node2 x:gettingstarted_shard1_replica1] org.apache.solr.core.SolrCore; [gettingstarted_shard1_replica1] webapp=/solr path=/select params={df=_text_&distrib=false&_facet_={}&fl=id&fl= score&shards.purpose=1048580&start=0&fsv=true&shard.url=htt p://localhost:8983/solr/gettingstarted_shard1_replica1/| http://localhost:7574/solr/gettingstarted_shard1_replica2/&rows=10& version=2&q=*:*&json.facet={price:{type:range,start:0,end:600,gap:50}}&NOW= 1487969692214&isShard=true&wt=javabin} hits=2328 status=500 QTime=1 ERROR - 2017-02-24 20:54:52.218; [c:gettingstarted s:shard1 r:core_node2 x:gettingstarted_shard1_replica1] org.apache.solr.common.SolrException; null:java.lang.NullPointerException at org.apache.solr.schema.IndexSchema$DynamicReplacement$ DynamicPattern$NameEndsWith.matches(IndexSchema.java:1043) at org.apache.solr.schema.IndexSchema$DynamicReplacement.matches( IndexSchema.java:1057) at org.apache.solr.schema.IndexSchema.getFieldOrNull(IndexSchema.java:1213) at org.apache.solr.schema.IndexSchema.getField(IndexSchema.java:1230) at org.apache.solr.search.facet.FacetRangeProcessor.process( FacetRange.java:96) at org.apache.solr.search.facet.FacetProcessor.processSubs( FacetProcessor.java:439) at org.apache.solr.search.facet.FacetProcessor.fillBucket( FacetProcessor.java:396) at org.apache.solr.search.facet.FacetQueryProcessor.process( FacetQuery.java:60) at org.apache.solr.search.facet.FacetModule.process(FacetModule.java:96) at org.apache.solr.handler.component.SearchHandler.handleRequestBody( SearchHandler.java:295) at org.apache.solr.handler.RequestHandlerBase.handleRequest( RequestHandlerBase.java:166) at org.apache.solr.core.SolrCore.execute(SolrCore.java:2306) Kevin Risden