Database repair?

This database corruption is becoming a serious problem. Lately I’ve seen more and more support requests about it. I am sort of lucky as I have a (very) small library so re-building a database from scratch is relatively easy - compared to those with thousands or hundreds of thousand tracks. But even if my library is small I have put lots of time into tweaking it to my liking. A corrupt database would be a major hassle.

Why not let Roon alone take care of all metadata? Then a rebuild from scratch would be functional? That would of course be ideal, but I’m afraid that is not an option. Metadata from Roon is “all over the place” so at a minimum some tweaking will be necessary. I’m not saying this is Roon’s fault as such. Roon passes on metadata from a number of sources. Still, it is Roon’s decision to do it this way.

Roon should create a tool that could simulate a database restore from a backup. This should check the integrity of the (chosen) backup and inform of any errors found, if any, and suggest a way to fix it - either as suggestion to the user on how to deal with it (if possible) or have the tool correct the error so the database can be used for a real restore.

If any of this repair leads to changes of edits the user has made (playlists, tags, versions…) a list of the changes should be displayed and also written to a file so the user knows what to work with afterwards.

When Roon updates to new versions the database is often changed. The tool should also perform any conversion necessary to restore an “old” version of the database to the version of Roon it is being restored to.

3 Likes

@danny has recently included the following in a reply in another thread:

He had a backup, and many people brought up (in a related thread) the fact that database corruption will get backed up and good database backups will be lost if you don’t have much history. This lack of DB check previous to backup got acknowledged as being an issue and we are going to check the DB before backups in a future build. The work is on the short term roadmap. It’ll help catch bad hardware sooner.

Roon’s lack of adequate DB management is a major issue.

Any loyal roon user can lose the entirety of their patient customisation work over night, with roon offering no recovery solution whatsoever and no compensation for the loss - which can represent a considerable number of hours or days.

This could be understandable if roon was in the early days of its development and users were voluntary beta-testers. This is not acceptable for a commercial product at a high price point.

Something must be done now or the reputation of the company could collapse very quickly.

5 Likes

One reason why I auto back up every morning at 2:00 am, and if I do a lot of changes of any type, I’ll do a manual backup.

I have 60 days of auto-backup but it is no solution for this issue, as 100% of your backups may be corrupt without roon even noticing.

I am currently stuck with build 764, which runs happily with my supposedly corrupt data whereas all subsequent builds are unable to load the DB.

This is a total mess, for which roon offers no solution whatsoever.

2 Likes

Is this really so? I ask because perhaps DB management is either performed in the background or unnecessary? Neither iTunes or Audirvana have a backup function, and I’ve never had a problem with those databases either. Roon has backup, but it’s obviously useless if it restores a DB error.

A ripped CD not appearing in roon may be linked to the use of unsupported characters in file names. Have you checked your files and tried to rename them?

Yes it is so. Unfortunately.

It is good that @danny has taken action Re.: DB checks, but this will only check before a backup is made. Most of the time this will be good enough as seen from Roon, but in a situation where a user is forced to restore the DB, a dedicated tool that can confirm the health of a backup would be of great value to the user. Keep in mind that a Roon user with a corrupted DB is probably quite stressed out so any help in the app itself is good (and you won’t have to wait for someone from support to help).

Agreed, a built-in diagnostic tool might be a very useful addition. Have you raised this in Danny’s thread?

This would only be valid for Nucleus/ROCK systems, but given that they are appliances, it would be a good place to start. There may be third party tools that could be used on Windows/MacOS/Linux systems?

No I haven’t. It’s a good idea. I’ll think about it…

Raising my (Nucleus + and lifetime subscription-holding) hand and saying, yes, something to auto-check that backups are good (or, useful, and the database is healthy) would be greatly valued. I’m today facing the second total database corruption since 1.8, and even though the backups run nightly, the last useful backup was two months ago, two weeks after the last complete database rebuild (not restore, that was useless).

2 Likes

Oh my! That is really bad! Let us hope @danny and @brian reads this. The DB backup/restore really needs some attention.

it’s in the roadmap

image

6 Likes

I’m curious to know (and maybe I’ll try it) if an auto-Roon backup is any different from a say, Chronosync verified backup (with Roon stopped).
I’ve tested the backups Roon makes, and never successfully Restored.

42.5GB Database.

I have just briefly read release note for build 880. The improved DB handling is nice, but this:

the application will halt and the user will need to restore from a backup.

What!? No option to fix the offending DB record other than a DB backup? What if the available backups have errors in them? You’ll be getting nowhere and Roon has stopped - does not make sense to me. I’d want to know what is corrupt and get suggestions on how to fix it.

Maybe this works different in real life and it is good that Roon now has focus on DB corruption, but I hope this is only a beginning…

1 Like

So this wasn’t a beginning. According to a post by @kevin this is Roon’s solution to DB corruption. I’d say this is not anywhere near a good solution. If you are so stu… that you haven’t got a working DB backed up somewhere you are on your own. NOTE: you have no means of knowing if any of your DB backups can be restored - until you try. If it doesn’t work, start with a new DB and loose all your edits, playlists…
For new Roon users (at or after 1.8 b880) the feature is good, but for us that have struggled through years of bad metadata this is not nice.

No it does work differently in real life. B880 reports database corruption on my Roon Core database. None of the backups I have are usable.
An “over a year ago” version on my backup ROCK server isn’t free of the corruption, so it is systemic going back years.
My Roon Core database represents 6-years of music management, Playlists, history - GONE

Prior to fold and start from scratch you maybe should reach out to Roon support and check if they have tools to at least try a repair?!