Coming to restoration activity (which is not very clear in the adobe doc), let us say that MongoDB is corrupted and needs restoration from a previous known good snapshot. Should File datastore and crx-quickstart also be restored to the same timestamp of the MongoDB snapshot? If not, will there be consistency/sync issues ? Same question arises for other 2 scenarios when File datastore and crx-quickstart fail and have to be restored.
I agree to berliant regarding the ideal and always best case.
A shortcut, which you can take and which saves you to restore the datastore: If between the state before the breakdown and the time of the mongo snapshot not datastoreGC has run (and only then!) you can omit the restore of the datastore. In that case you have some unreferenced blobs, but that's not a problem (will be fixed with the next datastoreGC).
Probably yes, especially if you don't do a filesystem backup atomically. If you can (for example using a filesystem snapshot), it's atomic and has a single timestamp. But on the other hand, you need to coordinate these 2 processes (MongoDB backup and FS snapshot).
For restore I would always restore the MongoDB to the timestamp you require. And then restore the datastore from the next youngest timestamp. It might contain unreferenced blobs, but these don't matter.
But, wouldn't the backup times of file datastore and mongoDB be different even if they were to be initiated at the same time ? I feel this might still cause some mismatch between the references in MongoDB and the blobs in the file data store if data is being written into both. Please advise.