Expired/Deleted data reappears after server is restarted

I mean the node will be fully operational only after the migration complete. And the migration take twice as long to finish as a cold start (with reading data from a disk) on my dataset.

Thanks for the information. The tombstone looks like a good solution, but it’s affected by the same issues (defrag and the start-up data loading order). In general you just don’t know when is safe to remove (during defrag) the tombstone from the disk.

Sorry, I forgot about it because actually it’s not a delete. The whole record set can’t be reduced this way. But anyway it’s a nice workaround if you have enough memory to hold all the records (including dead ones)

That’s a good point. So if I have a constant record TTL and I just updating my records I will never face the issue.

IMO the broken data integrity is the most troublesome consequence of the cold-start (with no cold-start-empty).

In some cases I really need the data integrity with deletes so probably I’ll try to use the cold-start-empty solution. User-handled tombstones are also suitable.