Hello everyone,
I got a NullPointer-Exception running a select-SearchHandler with a suggest
component on multiple shards (cloud mode).
It does work in the same configuration with a single shard (or non-cloud setup).
The suggest requestHandler does work in both setups.
Exception:
<lst name="responseHeader">
<bool name="zkConnected">true</bool>
<int name="status">500</int>
<int name="QTime">16</int>
<lst name="params">
<str name="q">*:*</str>
<str name="defType">edismax</str>
<str name="df">_text_</str>
<str name="echoParams">all</str>
<str name="indent">on</str>
<str name="qf">_text_</str>
<str name="wt">xml</str>
<str name="_">1508861012736</str>
</lst>
</lst>
<lst name="error">
<str name="trace">java.lang.NullPointerException
at
org.apache.solr.handler.component.QueryComponent.unmarshalSortValues(QueryComponent.java:1224)
at
org.apache.solr.handler.component.QueryComponent.mergeIds(QueryComponent.java:1075)
at
org.apache.solr.handler.component.QueryComponent.handleRegularResponses(QueryComponent.java:775)
at
org.apache.solr.handler.component.QueryComponent.handleResponses(QueryComponent.java:754)
at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:429)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:173)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:2477)
at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:723)
at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:529)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:361)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:305)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1691)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at
org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:534)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
at
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
at
org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
Multi-Shard-Setup (Solr 6.6.2):
1 Collection with 2 Shards (each ~29k documents)
Single-Shard-Setup (Solr 6.6.2):
1 Collection with 1 Shard (58k documents)
Here is my configoverlay.json (everything else is default data-driven)
{
"userProps":{"update.autoCreateFields":"false"},
"searchComponent":{"suggest":{
"name":"suggest",
"class":"solr.SuggestComponent",
"suggester":{
"name":"mySuggester",
"lookupImpl":"FuzzyLookupFactory",
"dictionaryImpl":"DocumentDictionaryFactory",
"field":"id",
"suggestAnalyzerFieldType":"string",
"buildOnStartup":"true"}}},
"requestHandler":{
"/select":{
"name":"/select",
"class":"solr.SearchHandler",
"defaults":{
"defType":"edismax",
"qf":"_text_"},
"components":[
"query",
"facet",
"suggest",
"debug"]},
"/suggest":{
"name":"/suggest",
"class":"solr.SearchHandler",
"defaults":{
"suggest":"true",
"suggest.dictionary":"mySuggester",
"suggest.count":5},
"components":["suggest"]}}}
Did I do something wrong with my configuration?
Greetings,
Mirko Vogelsmeier
Lynx-Consulting GmbH
www.lynx.de<http://www.lynx.de>
Sitz: Wiesbaden, Amtsgericht Wiesbaden, Gen.-Register 318, Steuernummer 040 227
00053
Vorstand: Peter Erlebach (Vorsitzender), Franz-J. Kollner, Mark Wulfinghoff
Vorsitzender des Aufsichtsrates: Prasident Uwe Frohlich
Diese E-Mail enthalt vertrauliche und/oder rechtlich geschutzte Informationen.
Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtumlich erhalten
haben, informieren Sie bitte sofort den Absender und vernichten Sie diese
E-Mail. Das unerlaubte Kopieren und die unbefugte Weitergabe dieser E-Mail sind
nicht gestattet.
This e-mail may contain confidential and/or privileged information. If you are
not the intended recipient or have received this e-mail in error please notify
the sender immediately and delete this e-mail. Any unauthorized copying,
disclosure or distribution of the material in this e-mail is strictly forbidden.