Recovering from Voron Errors
Voron errors described in this article are indicators that something had horribly gone wrong.
If such errors happen, they need to be reported as soon as possible to RavenDB Support.
RavenDB info level logs will contain the following exceptions:
Index points to a non leaf page
Was unable to retrieve the correct node. Data corruption possible
Error syncing the data file. The last sync tx is...
Such exceptions are caused by the corruption of a Voron data file, which could occur due to a few reasons:
RavenDB Hardware And OS Requirements
A filesystem and hard-drive backing up a RavenDB server should have the following properties:
- support for
- support for
write-through on windows and
O_DIRECT on Linux based OS.
Read more about
fsync across platforms here
For the best results, simply restore a new database from a backup.
For more information, read this article about backup configuration.
If there is no recent/relevant backup available, it is possible to use the Voron Recovery Tool.
This tool can be used to recover intact data from the corrupted file and import it to a newly created database.
If the corruption has affected an index, it should simply be reset in order to restore normal functionality.
If the corruption is caused by a hardware failure, identify and replace the faulty disk.