3fa79ce891
Stores may race when performing writes, since in `save_changes` some data is pickled, and live across await points (it could be stale after an await point). To prevent multiple threads racing when calling into `save_changes`, a new lock is introduced there.