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
We have a process where rate limit information gets synced between our multiple servers. This is done so that we can store the rate limit information locally in memory on each server (for performance reasons), but then still ensure the rate limit information is correct across a cluster of separate machines (since a single user's traffic might be distributed across the individual servers).
I recently noticed quite a few errors like this being thrown from this sync process:
After digging around, this case can crop up for longer duration rate limits (for example, on APIs that have per day limits). The culprit was that our distributed information didn't have the correct TTL settings, which caused a negative calculation in the TTL when it came time to populate the local memory version of rate limit information.
This wasn't a fatal error, but it could have led to some odd rate limit counts for these longer duration rate limits depending on which server you hit.
The text was updated successfully, but these errors were encountered:
We now properly set the TTL when pushing data into the distributed rate limit database which should fix this. We also now do a better job of catching and logging this error if it does ever happen again (but hopefully not).
We have a process where rate limit information gets synced between our multiple servers. This is done so that we can store the rate limit information locally in memory on each server (for performance reasons), but then still ensure the rate limit information is correct across a cluster of separate machines (since a single user's traffic might be distributed across the individual servers).
I recently noticed quite a few errors like this being thrown from this sync process:
After digging around, this case can crop up for longer duration rate limits (for example, on APIs that have per day limits). The culprit was that our distributed information didn't have the correct TTL settings, which caused a negative calculation in the TTL when it came time to populate the local memory version of rate limit information.
This wasn't a fatal error, but it could have led to some odd rate limit counts for these longer duration rate limits depending on which server you hit.
The text was updated successfully, but these errors were encountered: