Union of blob hashes referenced by rooms currently loaded in memory.
Run this BEFORE the disk scan. RoomManager.unload removes a room from its
map before awaiting the compact inside destroy(), so a room can be briefly
invisible to the live scan while its final state has not yet landed on disk.
Scanning live-then-disk means an unload racing the sweep is most likely to be
caught by the disk half. The residual - references that exist ONLY in memory,
which needs appends to have been failing - is accepted and documented.
Union of blob hashes referenced by rooms currently loaded in memory.
Run this BEFORE the disk scan.
RoomManager.unloadremoves a room from its map before awaiting the compact insidedestroy(), so a room can be briefly invisible to the live scan while its final state has not yet landed on disk. Scanning live-then-disk means an unload racing the sweep is most likely to be caught by the disk half. The residual - references that exist ONLY in memory, which needs appends to have been failing - is accepted and documented.