Hi,

When sending updates to Solr, you often need to run multi threaded to utilize 
the CPU on the solr side.
But how can the client (whether it is pure HTTP POST or SolrJ know whether Solr 
is happy with the indexing speed or not?

I'm thinking of a feedback mechanism where Solr can check its load level, 
indexing queue filling rate or other metrics as desired, and respond to the 
caller with a HTTP 503, or a custom Solr HTTP code "533 Slow down".
Clients will then know that they should pause for a while and retry. Clients 
can then implement an exponential backoff strategy to adjust their indexing 
rate.
A bonus with such a system would be that Solr could "tell" indexing to slow 
down during periods with heavy query traffic, background merge activity, 
recovery, replication, if warming is too slow (max warming searchers) etc etc.

I know Elastic has something similar. Is there already something in our APIs 
that I don't know about?

Jan

Reply via email to