[Tracker] Discarding broken metadata from miners



Hey,

Every now and then, there is a bug or regression in one of miners
which leads to broken metadata being inserted into the database.  For
example, here is a low impact one:
https://bugzilla.gnome.org/show_bug.cgi?id=767472#c48

However, the breakage can be more serious and visibly impact
applications. For example, this one:
https://bugzilla.gnome.org/show_bug.cgi?id=776723

It broke various fields in gnome-photos' properties dialog, and due to
the wrong nfo:orientation values images were no longer correctly
oriented.

Bugs happen. Such is life. What is the recommended way to deal with
these situations. So far I have been telling users to hard reset their
database and restart the miners using the command line. I am afraid
that isn't an elegant solution.

Do the Tracker miners version the metadata that they insert into the
database? Or, is it possible to programmatically discard metadata
coming from a certain miner and force a reindex?

In gnome-online-miners (those are the out-of-tree miners used by
gnome-documents/photos to index online accounts advertised by
gnome-online-accounts), we handle this by having each miner tag their
insertions with nie:version (grep for 'version' in
src/gom-miner.c). Whenever a bug that could have inserted broken
metadata is fixed, we bump the miner version. When the user installs
the updated miner, it will automatically purge the old metadata and
re-index.

So, any suggestions? Thoughts?

Thanks,
Rishi


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]