Andrzej Bialecki  created SOLR-13578:
----------------------------------------

             Summary: Implement a generic Resource Manager for monitoring and 
controlling limited resources
                 Key: SOLR-13578
                 URL: https://issues.apache.org/jira/browse/SOLR-13578
             Project: Solr
          Issue Type: Improvement
      Security Level: Public (Default Security Level. Issues are Public)
            Reporter: Andrzej Bialecki 
            Assignee: Andrzej Bialecki 


Many common resources such as CPUs, threads, file descriptors, heap, etc. are 
shared between multiple SolrCore-s within a CoreContainer.

Most of these resources can already be monitored for usage using metrics. 
However, in most cases Solr doesn't have any control mechanism to actually do 
something about excessive use (or extreme under-utilization) of a resource by 
any particular SolrCore or CoreContainer. Furthermore, even when a control 
mechanism exists it's usually available only as a static configuration 
parameter (eg. max cache size) and changing it requires at least a core reload, 
or restarting the JVM.

This issue is especially important for multi-tenantĀ applications where the 
admin cannot assume voluntary co-operation of users and needs more fine-grained 
tools to prevent DOS attacks, either accidental or purposeful.

This is an umbrella issue that proposes the following:
 * adding a generic ResourceManager component to Solr, which would run at a 
CoreContainer level and would be able to monitor and enforce both global limits 
and a "fair" division of resources among competing SolrCore-s.
 * extending key existing components so that their resource consumption aspects 
can be dynamically controlled.
 * adding a number of management plugins that implement specificĀ strategies for 
managing eg. the cache sizes according to the specified "fairness" and global 
limits.
 * the API should allow for implementation of this control loop both in Solr 
and as an outside mechanism.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to