Upon startup, FMDS checks the state of the SafeStore.dat file to ensure FMDS was shutdown with no unwritten data pending. If it shutdown with no unwritten data pending, the state is Clean and FMDS continues working normally. If it shutdown with unwritten data pending, the SafeStore.dat file was in something other than a Clean state and the following message is logged in the Responder log files: FMDS appears to have terminated unexpectedly.
Refer to the table below for a list of the states of the SafeStore.dat file:
The database is in a clean, consistent state. FMDS was shut down with no unwritten data pending.
FMDS continues working normally.
The database is in a clean, consistent state, but FMDS terminated with unwritten data pending.
The log message indicates in-memory data was lost, and FMDS continues working normally. Full data recovery occurs with the next flush.
The database is in a recoverable state. FMDS terminated with unwritten data pending in preparation for flushing it. It was making the backup of the Warm.h5 file, but was interrupted.
Automatic recovery logic logs a message and deletes the backup file. Partially copied backup files are deceiving, because they have the same size as the original, but different contents.
FMDS continues working normally. Full data recovery occurs with the next flush.
The database is in a recoverable state. FMDS terminated while writing to the current Warm.h5 file and will recover from Warm.h5.backup upon restart.
Automatic recovery logic checks if a Warm.h5.backup exists (it may not if the failed flush was the very first flush on a new Warm.h5 file).
If it does, FMDS uses this Warm.h5.backup as the warm file instead, logs informative messages, and proceeds. In either case, at most, you would have lost five minutes of data.
The database is in a partially recoverable state. Archived data files are undamaged.
Log message indicates manual intervention is required. This may happen on a disk full or access violation condition, or other unexpected input/output error.
This is rare and not normally indicative of a failure of FMDS.
To manually recover:
If you are sure a Warm.h5 is not corrupt, open the SafeStore.dat in Notepad, type CLEAN in as the only text, and save.
- or -
If you think the Warm.h5 is corrupt but Warm.h5.backup is good, rename the backup to Warm.h5, open SafeStore.dat in Notepad, put CLEAN in as the only text, save, and restart the TT FMDS Responder.