[ https://issues.apache.org/jira/browse/SOLR-17333?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17866000#comment-17866000 ]
ASF subversion and git services commented on SOLR-17333: -------------------------------------------------------- Commit 9903d0342fad076daa7eedc6b5f72a73b33257ba in solr's branch refs/heads/pr/2550 from Michael Gibney [ https://gitbox.apache.org/repos/asf?p=solr.git;h=9903d0342fa ] SOLR-17333: Various rate limiting fixes (#2522) 1. fix live-update of configuration 2. fix slot borrowing bug 3. cleaner state tracking via try-with-resources 4. fix refguide documentation to mention limitations and request header requirement > 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 > Priority: Minor > Fix For: 9.7 > > Time Spent: 50m > Remaining Estimate: 0h > > 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