Around a year and a half ago I worked on a simulator, and waited something like 7 seconds after the player joined before calling GetAsync just to make sure previous session probably saved. Now if old data for some reason took longer than that to save (and yes it attempted to save repeatedly on fail), they’d lose a session’s worth of progress, which isn’t the end of the world (I wasn’t smart enough to use session locking at the time). But I received reports on a daily basis of data being completely wiped, and estimated it was happening on average once in every 10,000 sessions or so. However it appeared to happen more or less often depending on the weather.
After switching to Bereza’s method of saving every session in a list and fetching the most recent one, the reports of complete data wipes essentially stopped.