Adopt Me’s average playtime has tanked in recent hours. We haven’t made any changes to our game, but many players are having a hard time loading their datastore saves. Was anything enabled recently that could be causing this? Thanks!
We’re getting this:
Even though our data store budget is this:
1200 (GetAsync), 1169 (UpdateAsync)
I have that aaaa lot too, while not even getting close to the limit or sending more request to the same key in a few seconds.
It even happend when only me and someone else where in a server.
I think you might be hitting a different throttle issue unrelated to budget. Take a look at the second chart; the one about “Write Requests(same key)”. Make sure you are waiting at least 6 seconds between writes to the same key.
We don’t write until all of the data has loaded. So the issue would be with GetAsync. So I’m still not sure what is happening
It appears that entire servers are broken. Even when new players who haven’t played the game in hours enter the broken server, their data can’t be loaded. All while the datastore budget is very free.
Can you post how you are storing data?
This is what a player data load looks like:
GetAsync userdata_USERID – Where USERID = player’s userid
local key = GetAsync key_USERID
GetAsync stats_USERID_v_KEY – where KEY is the local var “key”
GetAsync inventory_USERID_v_KEY – where KEY is the local var “key”
Saves do not occur unless all of the above is successful.
We also do automatic retry on failure:
local userdata, success, message = retry(function()
local string_val = DataStore:GetAsync("userdata_" .. userid)
if string_val == nil then return nil end
return JSON:decode(string_val)
end, 5)
-- Retries up to 5 times on failure
print("Userdata:" .. userdata)
Also a correction on my part: We do one UpdateAsync on player load on the key rewards_USERID, where USERID is the player’s UserId. No retry logic on this one
Just curious, how did you resolve this issue? thank you
Going to close this out since this is an older bug report and likely resolved.
Feel free to reach out to the dev privately to see if they remember what was wrong, or file a new bug report if you are seeing any issues with datastores that are out of your control.