View Issue Details

IDProjectCategoryView StatusLast Update
0000469Medieval EngineersBugpublic2023-03-16 22:03
Reporterequinox Assigned Toequinox  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionunable to reproduce 
Target Version0.7.4 (unreleased) 
Summary0000469: Session save doesn't wait for background persistence to finish
Description

When saving the infinite persistence component writes files in the background using MySessionPersistence.WriteAsync. This writes the entity to a temporary file in the background using m_persistWork.
However, when the temporary files are copied to the real safe location during MySessionPersistence.Apply and MySessionPersistence.SaveAs the persistence work is not waited for, meaning that an old (or empty?) (or partial?) version of the file might get put in the save directory.

During shutdown persist work is waited for, so this should only apply to unclean shutdowns or backups, but it still seems like a major issue.

TagsNo tags attached.

Activities

equinox

2023-03-16 22:03

administrator   #~0000381

After further investigation FlushAsyncWrite ensures that the file is written prior to attempt to use it.

Issue History

Date Modified Username Field Change
2023-03-15 17:24 equinox New Issue
2023-03-16 22:03 equinox Assigned To => equinox
2023-03-16 22:03 equinox Status new => closed
2023-03-16 22:03 equinox Resolution open => unable to reproduce
2023-03-16 22:03 equinox Note Added: 0000381