-
Notifications
You must be signed in to change notification settings - Fork 1
Description
There are a few issues with the current implementation of the exponential and linear ramp-up modes (found in Python and should be checked in other languages):
-
startQps validation: The
startQpsparameter can currently be set to 0 or a negative value, which leads to invalid behavior (as it is used as a multiplier). Add validation to preventstartQpsfrom being 0 or negative in all implementations. -
Exponential factor too small: The exponential factor can be set to less than 1, causing QPS to rapidly decrease instead of increasing (ramp-down). We should at least log when this happens, and potentially restrict values or make the warning/error more visible.
-
Missing throttling if startQps is not set: For both linear and exponential ramp-up modes, if
startQpsis not set, there is no throttling and the ramping logic is never executed. This needs fixing to ensure users don't accidentally bypass rate limiting by omittingstartQps.
Action items:
- Add validation and error/warning logging for invalid
startQpsand exponential factors. - Review and fix logic in all supported languages (Python and others).
- Ensure that ramping and throttling logic cannot be accidentally skipped due to omitted configuration.
Please coordinate changes across all relevant language implementations and add tests to verify the fixes.