Database Corruption

Roon Core Machine

Small Green Computers sonicTransporter i5, internal 1TB SSD with 213GB of stored music, version 2.8

Networking Gear & Setup Details

N/A

Connected Audio Devices

N/A

Number of Tracks in Library

24000 tracks

Description of Issue

In late december 2021 with the last major update my database failed to upgrade due to corruption. I was able to restore to an earlier version. After the last major roon update in February my database could not be upgraded due to corruption. I tried restoring and that was not successful. I’ve been using Roon since 2016 and never had an issue with corruption prior to dec 2021. Andrew from Small Green Computers remotely logged into the unit, checked the hardware and said the hardware is good (RAM and SSD). Can Roon provide an option or an automatic check on whether a backup is good? I have multiple backups and they are all bad. Storing backups is only good if the backups are not corrupt and able to be restored. Can you look at my database to see if it can be fixed? How can I detect corruption on the first corrupt backup so that I can restore to the previous version that is not corrupt?

The only way to check if a backup is good is to try and restore from it. If the backup fails this indicates that it’s corrupt.

You’ll need to wait for support to confirm, but I don’t think there are any ways to fix a corrupt database or backup.

I think the only way to do this is to try a restore. If it succeeds, you’ve found a good backup, but from what you said it looks like you might have already gone through all your backups and not found one that would work. If that’s the case then I suspect there isn’t much you can do. Again though, hopefully support will have something more encouraging to add.

Unfortunately this was part of that major update late last year…to try to eliminate corrupt DB and backups.

Again unfortunately it had been allowed for corrupt backups to occur with no real integrity check.
This has now been remedied but at a cost to some users of no useful backups left to restore to.

Very doubtful anything can be done at this stage but you can wait to see if support have anything more to offer.

Most likely you are going to have to start afresh I am afraid.

1 Like

@DaveN Thanks for the response. After seeing similar posts I recreated my database. I am glad all the Tidal music that I added showed up in Roon so it seems the Tidal integration is flagged in Tidal. Bookmarks and playlists lost. Not sure what else. At least I can listen and explore new music and that’s such a joy with Roon integration with Tidal. Roon has to figure out a way to verify integrity while it is backing up otherwise there can be no reliance on backups which defeats the purpose of a back up.

@AceRimmer Thanks for your reply. After reading other posts I was not hopeful so I recreated the database without setting up backups so that I don’t overwrite my backups in case a miracle happens and Roon can fix my database. Roon has to incorporate integrity checks, notification and stopping subsequent backups to allow a user to restore the previous good back up before the good backups get overwritten. Better yet, fix the database when corruption is detected on a backup. I lost playlists and bookmarks and not sure what else that accumulated in the Roon database since 2016. This is not ok and Roon has to verify integrity of the database so that backups can serve there purpose of restoration.

This has happened already. It was introduced with version 1.8. It’s unfortunate it didn’t happen quick enough to save any of your backups, but it will prevent the problem from happening again.

To be precise this was introduced with 1.8 build 880 (Dec, -21). Build 882 had a couple of fixes related to this,

I was able to find a backup that restored in December 21. The February update is when none my backups from January through February worked. The backup that worked in December was overwritten so I could not try that one. Is there a description on what how the integrity check works and what happens when an integrity issue is encountered? Is there a recommended back up scheme that will preserve a good backup prior to it being overwritten with bad backups?

You just need to make sure that you have enough backups. I use a range of different strategies, but perhaps the simplest is to use two or three different schedules: one that backs up frequently (every day, or few days), one that backs up each week, and one that backs up each month. I keep a month’s work of frequent back ups, four months of weekly backups, and two years of monthly backups. These are duplicated on different hard drives, just in case one of them fails.

All that aside, it’s now impossible to create a bad backup, so you shouldn’t have this problem going forward.

These backups were made on Roon build 880 or later? Roon @support needs to step in here as this should work according to release notes:

Starting in this release, we will be detecting database integrity issues “on the fly” – if corruption is detected during a backup, or during normal use of Roon, the application will halt and the user will need to restore from a backup.

@support can you take a look at my backups to see if they can be fixed?

I can’t speak for support, but I suspect the answer will be no - once a backup becomes corrupt there doesn’t seem to be any way to fix it.

Hey @Mitchell_Kushner,

I wish so much that I could answer positively to this question… :pensive: . Unfortunately, once corruption in the database is discovered when a restore is attempted, there’s literally nothing our team can do to “save” it.

To answer your question, integrity checks are performed automatically with every backup. Everyone tends to have their own backup strategy, but the main thing to consider is far back you are keeping your backups so, you have backups that predate the corruption.

For example, I have two types of recurring backups:

  • A monthly backup that I keep 12 of, meaning I effectively have backups that date back an entire year
  • A weekly backup that I keep 4 of, meaning I have a months worth of more frequent backups
2 Likes

Hi there

so a successful backup from b880 or later should be good for restore?

Yes, but as the OP said “In late december 2021 with the last major update my database failed to upgrade due to corruption. I was able to restore to an earlier version. After the last major roon update in February my database could not be upgraded due to corruption.”

He doesn’t have a backup from build 880+

This topic was automatically closed 45 days after the last reply. New replies are no longer allowed.