It looks like when you load the region dashboard, the page triggers a series of requests to get the corresponding country info for every region that has an active outage (presumably to draw the little flag alongside the region name in the timeline).
But the wrinkle is:
each region is a separate request
it queries for all regions that have an outage, not just the top N that appear in the time line
So if you happen to be looking at a time window with a ton of active outages, the page is going to fire off a ton of (nearly concurrent) requests that it is not going to actually use the data for. And if there are enough of them in a short space of time, then you hit the "bad user" rate limit and get blocked
Fix: should just be a matter of only issuing the requests for the regions that are going to appear in the timeline table
It looks like when you load the region dashboard, the page triggers a series of requests to get the corresponding country info for every region that has an active outage (presumably to draw the little flag alongside the region name in the timeline).
But the wrinkle is:
each region is a separate request
it queries for all regions that have an outage, not just the top N that appear in the time line
So if you happen to be looking at a time window with a ton of active outages, the page is going to fire off a ton of (nearly concurrent) requests that it is not going to actually use the data for. And if there are enough of them in a short space of time, then you hit the "bad user" rate limit and get blocked
Fix: should just be a matter of only issuing the requests for the regions that are going to appear in the timeline table