Skip to content

Fix bugs in exponential and linear QPS ramp-up logic #5

@GilboaAWS

Description

@GilboaAWS

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):

  1. startQps validation: The startQps parameter 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 prevent startQps from being 0 or negative in all implementations.

  2. 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.

  3. Missing throttling if startQps is not set: For both linear and exponential ramp-up modes, if startQps is 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 omitting startQps.

Action items:

  • Add validation and error/warning logging for invalid startQps and 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.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions