I think you should take a look at the TimeLimitingCollector (it is used
also inside SolrIndexSearcher).
My understanding is that it will stop your server from consuming
unnecessary resources.

--roman


On Mon, Jun 3, 2013 at 4:39 AM, Bernd Fehling <
bernd.fehl...@uni-bielefeld.de> wrote:

> How are you handling "killer queries" with solr?
>
> While solr/lucene (currently 4.2.1) is trying to do its best I see
> sometimes stupid queries
> in my logs, located with extremly long query time.
>
> Example:
> q=???????+and+??+and+???+and+????+and+???????+and+??????????
>
> I even get hits for this (hits=34091309 status=0 QTime=88667).
>
> But the jetty log says:
> WARN:oejs.Response:Committed before 500 {msg=Datenübergabe unterbrochen
>  (broken pipe),trace=org.eclipse.jetty.io.EofException...
> org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:838)|?...
> 35 more|,code=500}
> WARN:oejs.ServletHandler:/solr/base/select
> java.lang.IllegalStateException: Committed
>         at
> org.eclipse.jetty.server.Response.resetBuffer(Response.java:1136)
>
> Because I get hits and qtime the search is successful, right?
>
> But jetty/http has already closed the connection and solr doesn't know
> about this?
>
> How are you handling "killer queries", just ignoring?
> Or something to tune (jetty config about timeout) or filter (query
> filtering)?
>
> Would be pleased to hear your comments.
>
> Bernd
>

Reply via email to