You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Build a long-running plugin callable ("dummy" way: time.sleep(10))
Give the callable a command, let's say .ratefail
Apply @plugin.rate(60) or whatever test value you like
Try to call .ratefail twice from a non-admin user (admins bypass rate limits)
Actual result: .ratefail will run twice
Expected behavior
.ratefail cannot be called twice because it is rate limited.
Environment
Sopel .version: 7, 8-dev, probably earlier
Sopel installed via: any method
Python version: any supported
Operating system: any supported
Notes
We discussed this on IRC today, and @Exirel already has a plan of attack. Therefore I've assigned the issue to him—but since we already thought there was an open issue about this when there actually wasn't, I thought it was a good idea to make one.
The text was updated successfully, but these errors were encountered:
dgw
added
the
Bug
Things to squish; generally used for issues
label
May 30, 2022
Description
A long-running plugin callable with a rate limit can be called again in the same rate-limit context while it is still running. Metrics are not updated until after a Rule's handler completes, because the current metrics also need its exit code, but rate limiting is checked before dispatching the callable.
Reproduction steps
time.sleep(10)
).ratefail
@plugin.rate(60)
or whatever test value you like.ratefail
twice from a non-admin user (admins bypass rate limits).ratefail
will run twiceExpected behavior
.ratefail
cannot be called twice because it is rate limited.Environment
.version
: 7, 8-dev, probably earlierNotes
We discussed this on IRC today, and @Exirel already has a plan of attack. Therefore I've assigned the issue to him—but since we already thought there was an open issue about this when there actually wasn't, I thought it was a good idea to make one.
The text was updated successfully, but these errors were encountered: