Today we deployed a new version locate with https://github.com/m-lab/locate/pull/32/files#diff-03269340b0cd4f39c6eee256654b12a6 that now distinguishes between ErrNoContent (http204) and returns 503. We happen to have an alert for 503 errors specifically, which began firing.
It turns out that this has been happening for a while, however previously it was returning 500 errors, for which we do not have an alert.
@nkinkade investigated more carefully and discovered that the rate-limiter was triggering on requests from the VM IP when the client lat=/lon= parameters were empty. As a result of empty lat/lon, the query pattern that the rate-limiter ignores was not present, so the rate-limiter did not ignore those requests, and rate limited them.
This is a bug.
Today we deployed a new version locate with https://github.com/m-lab/locate/pull/32/files#diff-03269340b0cd4f39c6eee256654b12a6 that now distinguishes between ErrNoContent (http204) and returns 503. We happen to have an alert for 503 errors specifically, which began firing.
It turns out that this has been happening for a while, however previously it was returning 500 errors, for which we do not have an alert.
@nkinkade investigated more carefully and discovered that the rate-limiter was triggering on requests from the VM IP when the client
lat=/lon=parameters were empty. As a result of empty lat/lon, the query pattern that the rate-limiter ignores was not present, so the rate-limiter did not ignore those requests, and rate limited them.This is a bug.