Michael Gibney created SOLR-17333:
-------------------------------------

             Summary: Various rate limiting fixes
                 Key: SOLR-17333
                 URL: https://issues.apache.org/jira/browse/SOLR-17333
             Project: Solr
          Issue Type: Bug
            Reporter: Michael Gibney
            Assignee: Michael Gibney


Solr rate limiting (introduced with SOLR-13528) has a number of issues with its 
current implementation:
# live-update via clusterprops is incomplete, and does not work. Some settings 
can be updated, but for others -- namely, the actual request limits -- 
attempted changes are silently ignored. (aside from the fact that it doesn't 
work, the high-level approach to config changes is not ideal, mutating objects 
in potentially brittle ways)
# there is a bug in slot borrowing that can in principle cause slots to be 
denied to native request types with guaranteed slots, even when plenty of slots 
are available. More likely consequences of the bug would be: native request 
types waiting up to twice as long as specified by {{slot allocation millis}} 
before failing to acquire, or pointlessly waiting {{slot allocation millis}} 
even when plenty of slots are available
# unnecessary state-tracking of existing requests; we should instead close out 
rate-limiting slots via try-with-resources. This will be safer, cleaner, more 
efficient, and support more flexible slot-granting. (currently the outstanding 
state is tracked in a separate map in the {{RateLimitManager}}, which is 
needlessly complex/inflexible)
# refguide documentation is incomplete. Most importantly: ratelimiting won't 
work at all without the addition of a `Solr-Request-Type` header, but [as of 
current version 
v.9.6|https://solr.apache.org/guide/solr/9_6/deployment-guide/rate-limiters.html]
 the refguide documentation doesn't mention the required header, so any user 
would be thoroughly confused!

I've bundled these issues together for simplicity; I can break them apart if 
folks prefer, but the changes are kind of intertwined, and really IMO together 
constitute a single high-level follow-up to the introduction of rate limiting.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to