-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 3.2.11
-
Component/s: WiredTiger
-
None
-
Environment:Windows Server 2012 R2
-
Fully Compatible
-
ALL
-
Storage 2017-03-27, Storage 2017-04-17, Storage 2017-05-08
-
(copied to CRM)
We had a single database instance (version 3.2.11 no replica set) running on windows server. Yesterday morning we realized that all data older than 02:30 approx in the morning was lost.
Looking in the MongoDb logs we find this piece of log happened at that time.
e:/ourfolder/data/mongodb/data\WiredTiger.turtle.set to e:/ourfolder/data/mongodb/data\WiredTiger.turtle: file-rename: MoveFileW: Cannot create a file when that file already exists.
I included part of the log that spot the problem as attachment.
If you look at the logs, you can verify that the server restarted, it tried to recover the db, but after restart there are nothing inside dbs, we found only data that was generated after the restart.
No error in operating system log, no log of disk failure for the virtual machine.
If I look at the disk, I see that there are 7.5 GB approx of various .wt collection files, so the old data is still there. We tried with wt utility to recover the data, but we had no success. We tried to recover wt files, we tried to dump them, but with no success.
It seems that the wiredtiger.wt file was completely rewritten when the server restarted, wt dump command can dump all the .wt files created after the restart, but it cannot dump files older than server restart.
Is there any way to dump the content of a .wt collection file without the WiredTiger.wt file?
In such a situation it could be better to avoid server restart and automatic repair but simply stopping the server and letting a human check what happened? (maybe we can save the old situation and use the wt dump command before the restore process)
It can be related to this ticket SERVER-18850