Page MenuHomePhabricator

Administrator defines rate limit classes
Closed, ResolvedPublic

Description

"As an Administrator, I want to define a class of Client Developers and assign them a rate limit, so I can have different limits for different classes."

This makes managing rate limits much much easier.

For MVP, our rate limit classes will be:

Default rate limit class: 5000 API calls/hour per client ID/user ID pair (with null user ID counting as a pair here)
Preferred rate limit class: 25,000 API calls/hour per client ID/user ID pair
Internal rate limit class: 100,000 API calls/hour per client ID/user ID pair

Event Timeline

eprodromou triaged this task as Medium priority.Jun 19 2020, 4:19 PM

It would be great if we had this ready for an MVP, but I'm OK if we don't get it working until launch time.

eprodromou reassigned this task from eprodromou to Pchelolo.Jul 29 2020, 1:22 PM
eprodromou updated the task description. (Show Details)Jul 29 2020, 1:35 PM
Naike added a subscriber: Naike.Aug 10 2020, 5:58 AM

@Pchelolo - Why is this ticket blocked? How can it be unblocked?

@Pchelolo - Why is this ticket blocked? How can it be unblocked?

It's blocked because it's implemented in the extension that was not deployed yet. This is what is inconvenient about having a ton of tasks all about the same exact thing, just from different angles

Change 622898 had a related patch set uploaded (by Ppchelko; owner: Ppchelko):
[operations/mediawiki-config@master] Install OAuthRateLimiter III: Install where enabled

https://gerrit.wikimedia.org/r/622898

Change 622898 merged by jenkins-bot:
[operations/mediawiki-config@master] Install OAuthRateLimiter III: Install where enabled

https://gerrit.wikimedia.org/r/622898

TODO: write docs on how to use the maintenance script to assign the classes.

@Pchelolo Looks like Hugh has already started an API Gateway page on Wikitech, so you can add these docs there.

@apaskulin is there a need for documentation of these limits on the Portal?

@eprodromou Yes, but we don't need to keep this task open for that. We should, however, keep it open for the maintenance script docs Petr mentioned above.

Pinging @Pchelolo on writing the docs to complete this task :)