Address concurrency issues
voltrevo opened this issue · comments
Andrew Morris commented
We have a lot of intertwined async operations that generally assume that there isn't anything else changing during those operations. We still want to avoid assuming that we're serialised when it's reasonably simple to do so, but for now we should serialise the requests to simplify things.
Additionally, we need to employ database transactions to ensure we never end up in a half-executed state if the database temporarily goes down.