Unable to access DataStore API from Studio (HTTP 0/429/1.1?)

I have a plugin that sends notifications from Studio via DataStore:UpdateAsync which are then received by live servers using :OnUpdate. I’ve been getting this error for the past few days on the Studio side, however:

HTTP 0 (HTTP 429 (HTTP/1.1 429 A key was throttled))

This occurs nearly every request, and happens since the first request, so the issue is not what I would immediately assume–me trying to make too many requests.

It may have something to do with the fact that my place traffic jumped 10x over the weekend, but this makes it more difficult to use the tools I designed to manage the game with. I would appreciate help with resolving this quickly.

Do you have a lot of servers accessing a single key? This doesn’t scale well with DataStores and is probably the reason you are unable to access that key.

Any way to get around this? Assuming that the key absolutely has to be accessed from all running servers.

Sharding is probably the easiest solution. Create a bunch of duplicate keys and make each game server read from a random key. How many shards you need is largely dependent on how hard you are hitting the key and how many servers are running for your game.

You might be able to get around this by reading from an ordered datastore (not sure how much that would throttle though), or you can run your own web server and use HttpService. Another hack/solution is to use MarketplaceService and read from the description of an asset.

@Merely might have some more ideas, we talked about this recently.

1 Like

I wish these kind of things were included into the datastore services by default though, like the ability to create a highly available/volatile datastore entry. It seems a bit weird that I have to work with high-level services such as datastoreservice, but still would have to implement something lower-level (such as sharding or some other kind of fault tolerant replication) myself to make certain things work, even though according to the wiki I would apply to the limits.

1 Like