Mnesia with Memento lost all records for all tables

Well, that was my idea until I lost all my data. I was thinking in using only one node and have its folder backup for disaster recovery.

Another approach that I will take, independent of the database I will choose, is to use an append only log, that will be replayed when some thing goes wrong, like the database gets corrupted. So the append log will act as the source of truth for anything that happens on the application, like its done in Event Sourcing.

From my use case I want consistency over performance. Choosing Mnesia its just to have an app without external dependencies, not because of its performance to write and read.

Before I found Mnevis I was thinking in just wrapping the use of :ets with persistence into a distributed append log only, but now I ma more inclined to use Mnevis.

I totally second you here :slight_smile:

I will run them with Mnevis when I have a chance to try it out. Do you want a pull request into your repo with Mmevis tests?

Isn’t this basically what disc_copies does in Mnesia? It stores the database in ets, then builds a disk_log of transactions to restore it on restart.

1 Like

Well, I read that Mnesia tries to use the disk log when it restarts, and in a distributed system it can be the remote one or the local one, but the fact is that Mnesia wiped out my entire log on the disk in a single node configuration. I think this may have occurred when I started it after a ctrl + c + c, and on the time it was killed the application was not being used. So, maybe the log files where not closed properly and when Mnesia started it has failed to repair them and just got me a brand new empty log :rage:

At this point I lost all my confidence in Mnesia and I have serious doubts I will recover it, unless I am able to replicate my issue and understand exactly what was the cause of it.

Totall fair, of course. I wondering if you ran afoul of a failed auto repair on the next startup. That’s my current best guess, but I could be way off.

Mnesia should never drop my files if couldn’t repair them, they should have been renamed, so that I could try to recover them.

Whatever happened shouldn’t have occurred, but I am not able to reproduce it :frowning: