Megan Carey created SOLR-13686:
----------------------------------

             Summary: Decouple Autoscaling triggers from the actions they 
execute
                 Key: SOLR-13686
                 URL: https://issues.apache.org/jira/browse/SOLR-13686
             Project: Solr
          Issue Type: Improvement
      Security Level: Public (Default Security Level. Issues are Public)
          Components: AutoScaling
    Affects Versions: 8.0
            Reporter: Megan Carey


Each of the SolrCloud Autoscaling triggers have default aboveOp/belowOp 
actions, but in some cases, the trigger is becoming too tightly coupled with 
its associated actions. This could be considered an abstraction violation, as 
the trigger's compute and execute actions should be separate from the trigger 
itself.

My proposal is to separate all action-specific configs out of the existing 
triggers, and instead do the following:
 # Require that all trigger actions have a Validator, which ensures that the 
properties map contains valid values
 # During trigger configuration, pass in a properties map (essentially a JSON 
blob), an action name, and its associated validator
 ## Run the validator against the given properties to ensure that the trigger 
can run without encountering exceptions

For example, we would make the IndexSizeTrigger action-agnostic, and remove all 
shard split parameters from the trigger. When we configure the trigger, we 
could instead pass in the desired action (e.g. shard split), the parameters for 
that action (e.g. splitByPrefix, splitFuzz, etc.) in a map, and a validator for 
that action (e.g. code to ensure that the parameters passed in have valid 
values; such checks are currently hard-coded into the trigger configuration). 



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

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

Reply via email to