x-pack/filebeat/input/entityanalytics/provider/okta: Rate limiting hangsΒ #40106
Description
Around the time of a rate limit reset, the rate limiting code may set a negative target rate and wait forever before the next request.
The rate comes out negative if current time is after the reset time returned in response headers. If a negative rate is set at a time when no request budget has accumulated, it will not recover. How previous events and timing affect the outcome can be seen in this example code.
We can avoid setting a negative rate by changing == 0
to <= 0
here.
There are some other corrections that can be made to the rate limiting logic, listed below. Beyond correctness, there are improvements that could be made for better operability, fault tolerance and user feedback.
A similar set of changes should be considered in the CEL input and related Mito code (in OktaRateLimit and in DraftRateLimit).
Activity