You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by "McBride, John" <jo...@corp.aol.com> on 2008/07/09 18:51:02 UTC

SOLR Timeout

Hello All,
 
Prior to SOLR 1.3 and nutch patch integration - what actually is  the effect of SOLR (non)-timeout?  Do the threads eventally die?  DOes a new request cause a new query thread to open, or is the system locked?
 
What causes a timeout- a complex query?
 
Is SOLR 1.2 open to DoS attacks by submitting complex queries?
 
Thanks,
John
 
 

Re: SOLR Timeout

Posted by Sean Timm <ti...@aol.com>.
If you have a number of long queries running, your system can become CPU 
bound resulting in low throughput and high response times.  There are 
many ways you can construct a query that will cause it to take a long 
time to process, but the SOLR-502 patch can only address the ones where 
the work is being done in collect().

Here is a comment on SOLR-502 that hopefully helps answer your questions.
> The timeout is to protect the server side. The client side can be 
> largely protected by setting a read timeout, but if the client aborts 
> before the server responds, the server is just wasting resources 
> processing a request that will never be used. The partial results is 
> useful in a couple of scenarios, probably the most important is a 
> large distributed complex where you would rather get whatever results 
> you can from a slow shard rather than throw them away.
>
> As a real world example, the query "contact us about our site" on a 
> 2.3MM document index (partial Dmoz crawl) takes several seconds to 
> complete, while the mean response time is sub 50 ms. We've had cases 
> where a bot walks the next page links (including expensive queries 
> such as this). Also users are prone to repeatedly click the query 
> button if they get impatient on a slow site. Without a server side 
> timeout, this is a real issue.
>
> Rate limiting and limiting the number of next pages that can be 
> fetched at the front end are also part of the solution to the above 
> example.
>
-Sean

McBride, John wrote:
> Hello All,
>  
> Prior to SOLR 1.3 and nutch patch integration - what actually is  the effect of SOLR (non)-timeout?  Do the threads eventally die?  DOes a new request cause a new query thread to open, or is the system locked?
>  
> What causes a timeout- a complex query?
>  
> Is SOLR 1.2 open to DoS attacks by submitting complex queries?
>  
> Thanks,
> John
>  
>  
>
>