Skip to content

Validate throttle capacity and refill period before initialization - #391

Open
Sarbajit-Sengupta wants to merge 2 commits into
grantjenks:masterfrom
Sarbajit-Sengupta:fix/validate-throttle-budget
Open

Sarbajit-Sengupta wants to merge 2 commits into
grantjenks:masterfrom
Sarbajit-Sengupta:fix/validate-throttle-budget

Conversation

@Sarbajit-Sengupta

Copy link
Copy Markdown

Invalid throttle settings are accepted into the persisted bucket or fail with an incidental division error. Zero/negative periods and non-finite values cannot define a usable refill rate; a capacity below one cannot hold a complete token.

Validate a finite capacity of at least one and a finite positive refill period before writing the bucket. Raise a parameter-specific ValueError. Add nine invalid-input cases that also verify the cache remains untouched, plus three valid configurations including a fractional period and a fractional capacity above one.

Validation: nine regressions fail before the change; 191 core/Fanout/Deque/Index/recipe tests pass on Python 3.13. Blue's formatter API and equivalent Ruff style checks pass. Django integration tests were not run because the dependency download repeatedly reset.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant