[ 
https://issues.apache.org/jira/browse/SOLR-4449?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14901555#comment-14901555
 ] 

Jeff Wartes commented on SOLR-4449:
-----------------------------------

I pulled this patch out into a freestanding jar and ported it to Solr 5.3. 

I tried to pull in all the things that had changed since they were copied from 
the parent class in 4.4, and added per-request backup time support. 
Sadly, there were still a few places where package-protected restrictions got 
in the way, (Rsp.server and LBHttpSolrClient.doRequest in particular) so even 
as a separate jar, this must be loaded by the same classloader as 
LBHttpSolrClient, not via solr's lib inclusion mechanism.

After this long, it feels unlikely this feature will get merged, but if there's 
any interest in that it should still be pretty simple to just copy the files 
back into the solr source tree, I didn't change any paths or package names, and 
I'd be happy to upload another patch file.

My version can be found here:
https://github.com/whitepages/SOLR-4449

For those who were wondering about the effect of this stuff, in one test today 
I cut my median query response time in half, at a cost of about 15% more 
cluster-wide cpu, simply by using this and setting the backupRequestDelay to 
half my observed ParNew GC pause. The next logical step would be 
performance-aware backup request settings, like "issue a backup request when 
you exceed your 95th percentile latency for a given requestHandler or 
queryPerformanceClass".

My thanks to [~phloy] for authoring this.

> Enable backup requests for the internal solr load balancer
> ----------------------------------------------------------
>
>                 Key: SOLR-4449
>                 URL: https://issues.apache.org/jira/browse/SOLR-4449
>             Project: Solr
>          Issue Type: New Feature
>          Components: SolrCloud
>            Reporter: philip hoy
>            Priority: Minor
>         Attachments: SOLR-4449.patch, SOLR-4449.patch, SOLR-4449.patch, 
> patch-4449.txt, solr-back-request-lb-plugin.jar
>
>
> Add the ability to configure the built-in solr load balancer such that it 
> submits a backup request to the next server in the list if the initial 
> request takes too long. Employing such an algorithm could improve the latency 
> of the 9xth percentile albeit at the expense of increasing overall load due 
> to additional requests. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to