metauni / metaboard

Multiplayer drawing boards for sharing knowledge in Roblox.
Mozilla Public License 2.0
29 stars 6 forks source link

Server hangs with many updated persistent boards #28

Closed dmurfet closed 2 years ago

dmurfet commented 2 years ago
Screen Shot 2022-01-05 at 2 50 20 pm

If storeAll() finds many persistent boards that have changed since the last autosave, it can hang the server even though all the SetAsync's yield. In the above example the 64 boards on the left are all persistent. If all of them are simultaneously updated (which I do by making them subscribe to a board in the lower right and writing on that) then in the next autosave Roblox Studio hangs for 7-10sec.

Maybe each individual board should schedule it's own autosave, rather than have this run simultaneously for all boards? Then if the autosave is scheduled with an interval based on the load time of the board, they will all naturally be a bit staggered from one another.

dmurfet commented 2 years ago

Resolved in v0.4.4.