[
https://issues.apache.org/jira/browse/SOLR-15474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17361865#comment-17361865
]
Atri Sharma edited comment on SOLR-15474 at 6/11/21, 4:03 PM:
--------------------------------------------------------------
Thanks for opening the Jira and your experiments, Christine!
Circuit breakers are designed to be pluggable – through CircuitBreakerManager.
Essentially, the idea is that if you want to add new circuit breakers, you
implement CircuitBreakerManager and add your new circuit breakers there and
then plug your CircuitBreakerManager implementation in solrconfig.xml.
The other problem there is that CircuitBreakerManager acts as the single point
of contact for all circuit breaker related aspects – hence no component outside
of CircuitBreakerManager knows about any circuit breaker implementations.
CircuitBreakerManager acts as the bus where all CB requests come in, and then
are propagated to the relevant components, such as SearchHandler.
I think the simplest way of allowing individual circuit breakers to be
pluggable *without* having to write a custom CircuitBreakerManager is to simply
have default CircuitBreakerManager read the registered Circuit Breakers from
solrconfig.xml and pass on the PluginInfo instance to individual
CircuitBreakers. This will ensure that each CircuitBreaker has its own way of
dealing with configurations and there is no need for CircuitBreakerConfig, as
you suggested.
This will also not break back compatibility since solrconfig.xml is not
changing.
WDYT?
P.S: If you are not planning to actively work on this JIRA, I can take it up
for the next release. Please let me know.
was (Author: atri):
Thanks for opening the Jira and your experiments, Christine!
Circuit breakers are designed to be pluggable – through CircuitBreakerManager.
Essentially, the idea is that if you want to add new circuit breakers, you
implement CircuitBreakerManager and add your new circuit breakers there and
then plug your CircuitBreakerManager implementation in solrconfig.xml.
The other problem there is that CircuitBreakerManager acts as the single point
of contact for all circuit breaker related aspects – hence no component outside
of CircuitBreakerManager knows about any circuit breaker implementations.
CircuitBreakerManager acts as the bus where all CB requests come in, and then
are propagated to the relevant components, such as SearchHandler.
I think the simplest way of allowing individual circuit breakers pluggable
*without* having to write a custom CircuitBreakerManager is to simply have
default CircuitBreakerManager read the registered Circuit Breakers from
solrconfig.xml and pass on the PluginInfo instance to individual
CircuitBreakers. This will ensure that each CircuitBreaker has its own way of
dealing with configurations and there is no need for CircuitBreakerConfig, as
you suggested.
This will also not break back compatibility since solrconfig.xml is not
changing.
WDYT?
P.S: If you are not planning to actively work on this JIRA, I can take it up
for the next release. Please let me know.
> pluggable support for custom circuit breakers
> ---------------------------------------------
>
> Key: SOLR-15474
> URL: https://issues.apache.org/jira/browse/SOLR-15474
> Project: Solr
> Issue Type: New Feature
> Reporter: Christine Poerschke
> Priority: Major
>
> In https://github.com/apache/solr/pull/96#discussion_r644383152 onwards
> making circuit breakers pluggable was mentioned.
> Creating this ticket as a placeholder for such potential future work (but I
> have to plans to work on it myself at this time).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]