Thanks! I will analyze it and let you know.

2016-06-28 11:25 GMT-03:00 Erick Erickson <erickerick...@gmail.com>:

> OK, but the consider what you can do to keep from having to
> create such things.
> 1> for infix notation (leading and trailing wildcards) you can
>     use ngrams to turn them into simple queries. These are
>     performance-killers.
> 2> Use reverseWildcardFactory to deal with leading wildcards
> 3> restrict the wildcard search to at least two "real" characters.
>      I can (and have) argued that a* is not useful to a user at all.
>
> The point is that your responsiveness will suffer if you come
> anywhere near 100K OR clauses. Maybe that's OK, but
> it's lurking out there.
>
>
> And no I can't see the image, the Apache server is pretty
> aggressive about stripping those too.
>
> Best,
> Erick
>
> On Tue, Jun 28, 2016 at 7:19 AM, Pablo Anzorena <anzorena.f...@gmail.com>
> wrote:
>
> > Hi Erick, thanks for answering.
> >
> > I attached the image to the body so you can see it.
> >
> >
> >
> > Why do I need so many clauses?
> > It is because I have two text fields that contains in average 25 words
> > with a lot of typos (which I'm not cleaning it) and on top of that the
> > index consists of 25 million records. And we let the users make queries
> > with phrases, wildcards prefix and suffix. So for example the following
> > query is valid *q=text_field:"*ban*" AND text_field2:"foo* bar*"* (I
> > ommited the query parser syntax that allows this).
> > ​
> >
> > 2016-06-28 2:08 GMT-03:00 Erick Erickson <erickerick...@gmail.com>:
> >
> >> That error sometimes gets reported inappropriately, as long as the
> >> servers are live
> >> you can pretty much ignore it.
> >>
> >> Attachments pretty much all get stripped by the mail server so we can't
> >> see your
> >> screen shot.
> >>
> >> Setting your max clause count to over 100K is pretty much an
> >> anti-pattern, what in the world
> >> are you doing that would require it to be that high? You haven't
> >> really shown us the query
> >> you're sending, but I bet it's amazing. Frankly, anything over the
> >> default of 1K is suspect.
> >>
> >> If this is some clause like id:(1 OR 2 OR 3 OR 4.......) you really
> >> want to try using the
> >> TermsQueryParser (note the 's'  as opposed to TermQueryParser (no 's').
> >> See:
> >>
> >>
> https://cwiki.apache.org/confluence/display/solr/Other+Parsers#OtherParsers-TermQueryParser
> >>
> >> And if you use the TermsQueryParser, it's probably a good idea to sort
> >> the list of terms, it's
> >> more efficient.
> >>
> >> Or do a join or... because anything with that many terms will be
> >> rather slow to say the least.
> >>
> >> Best,
> >> Erick
> >>
> >>
> >> On Mon, Jun 27, 2016 at 8:38 AM, Pablo Anzorena <
> anzorena.f...@gmail.com>
> >> wrote:
> >> > Hi,
> >> >
> >> > I have an ensemble zookeeper consisting of 3 machines and 2 machines
> >> with
> >> > solrcloud.
> >> >
> >> > With a high frequency I see in the logging:
> >> > No live SolrServers available to handle this
> >> > request:[
> >>
> http://solr2:8983/solr/usa_bills_imp_2016_20160623000000_shard1_replica1,
> >> >
> >>
> http://solr3:8983/solr/usa_bills_imp_2016_20160623000000_shard1_replica2]
> >> >
> >> > and the state.json is:
> >> >
> >> > {"usa_bills_imp_2016_20160623000000":{
> >> >     "replicationFactor":"2",
> >> >     "shards":{"shard1":{
> >> >         "range":"80000000-7fffffff",
> >> >         "state":"active",
> >> >         "replicas":{
> >> >           "core_node1":{
> >> >
>  "core":"usa_bills_imp_2016_20160623000000_shard1_replica2",
> >> >             "base_url":"http://solr3:8983/solr";,
> >> >             "node_name":"solr3:8983_solr",
> >> >             "state":"active"},
> >> >           "core_node2":{
> >> >
>  "core":"usa_bills_imp_2016_20160623000000_shard1_replica1",
> >> >             "base_url":"http://solr2:8983/solr";,
> >> >             "node_name":"solr2:8983_solr",
> >> >             "state":"active",
> >> >             "leader":"true"}}}},
> >> >     "router":{"name":"compositeId"},
> >> >     "maxShardsPerNode":"1",
> >> >     "autoAddReplicas":"false"}}
> >> >
> >> > And the full stacktrace of the error is:
> >> >
> >> > null:org.apache.solr.common.SolrException:
> >> > org.apache.solr.client.solrj.SolrServerException: No live SolrServers
> >> > available to handle this
> >> > request:[
> >>
> http://solr3:8983/solr/usa_bills_imp_2014_20160603115528_shard1_replica2,
> >> >
> >>
> http://solr3:8983/solr/usa_bills_imp_2016_20160623000000_shard1_replica2,
> >> >
> >>
> http://solr2:8983/solr/usa_bills_imp_2014_20160603115528_shard1_replica1,
> >> >
> >>
> http://solr2:8983/solr/usa_bills_imp_2015_20160610125230_shard1_replica1]
> >> >       at
> >> >
> >>
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:375)
> >> >       at
> >> >
> >>
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:143)
> >> >       at org.apache.solr.core.SolrCore.execute(SolrCore.java:2064)
> >> >       at
> >> org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:654)
> >> >       at
> >> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:450)
> >> >       at
> >> >
> >>
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:227)
> >> >       at
> >> >
> >>
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:196)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
> >> >       at org.eclipse.jetty.server.Server.handle(Server.java:497)
> >> >       at
> >> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
> >> >       at
> >> >
> >>
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
> >> >       at java.lang.Thread.run(Thread.java:745)
> >> > Caused by: org.apache.solr.client.solrj.SolrServerException: No live
> >> > SolrServers available to handle this
> >> > request:[
> >>
> http://solr3:8983/solr/usa_bills_imp_2014_20160603115528_shard1_replica2,
> >> >
> >>
> http://solr3:8983/solr/usa_bills_imp_2016_20160623000000_shard1_replica2,
> >> >
> >>
> http://solr2:8983/solr/usa_bills_imp_2014_20160603115528_shard1_replica1,
> >> >
> >>
> http://solr2:8983/solr/usa_bills_imp_2015_20160610125230_shard1_replica1]
> >> >       at
> >> >
> >>
> org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:355)
> >> >       at
> >> >
> >>
> org.apache.solr.handler.component.HttpShardHandlerFactory.makeLoadBalancedRequest(HttpShardHandlerFactory.java:246)
> >> >       at
> >> >
> >>
> org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:221)
> >> >       at
> >> >
> >>
> org.apache.solr.handler.component.HttpShardHandler$1.call(HttpShardHandler.java:183)
> >> >       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> >> >       at
> >> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> >> >       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> >> >       at
> >> >
> >>
> org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor$1.run(ExecutorUtil.java:148)
> >> >       at
> >> >
> >>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> >> >       at
> >> >
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> >> >       ... 1 more
> >> > Caused by:
> >> > org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException:
> >> Error
> >> > from server at
> >> >
> >>
> http://solr3:8983/solr/usa_bills_imp_2014_20160603115528_shard1_replica2:
> >> > maxClauseCount is set to 102400
> >> >       at
> >> >
> >>
> org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:560)
> >> >       at
> >> >
> >>
> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:235)
> >> >       at
> >> >
> >>
> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:227)
> >> >       at
> >> >
> >>
> org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:376)
> >> >       at
> >> >
> >>
> org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:344)
> >> >       ... 10 more
> >> >
> >> > So my question is if it is the maxClauseCount triggering the "No live
> >> > SolrServers" or if it is something else.
> >> > I attach the Admin UI of one of the SolrServers.
> >> > The zookeeper log does not throw any errors regarding to this.
> >> >
> >> >
> >> > Thanks.
> >> >
> >>
> >
> >
>

Reply via email to