Hi Jose! On Sun, Apr 16, 2017 at 9:58 AM, Jose Arroyo <[email protected]> wrote: > Hello Chris, > > It's been a while since I've dived into Tracker so my comments may not be > terribly useful. > >> It seems that whenever I reboot my Ubuntu 16.04.2LTS box I get a huge >> hourly syslog snippet with what I've put pastebin: > > > At a first glance, those traces seem to show that Tracker is trying to > re-index everything after a reboot. I think that this may be triggered by > some config option but it may be something else. > > In any case, the "UNIQUE constraint failed: nie:DataObject.nie:url" error > means that the SPARQL query that is used to update the file's entry in > Tracker's DB is trying to insert a second url the the file's entry as if it > wasn't there. It then fails because there is a constraint to a single url > per file. > > Then you have the logs of this kind: "(tracker-miner-fs:3725): > Tracker-WARNING **: File > 'file:///home/chris/Downloads/fetchmail-6.4.0.beta2/trio' has been > reenqueued more than 2 times. It will not be indexed." The way the Tracker > DB is organized, an element is not inserted in the DB unless its parent is > already inserted in the DB. So if for some reason, file://foo/bar is being > queued for insertion before file://foo, it'll be re-queued for insertion > after file://foo is inserted. > > However, if for some reason, the insertion of file://foo fails, this > mechanism will start looping. There is a counter to prevent these infinite > loops which is why you get these logs that say that item X won't be indexed > because it has already been reenqueued too many times. > > This whole behavior is somewhat harmless and, as Sam says, might be fixed by > reindexing the whole thing from scratch. In any case, what I think is going > on boils down to 3 things: > - Something is triggering a re-indexation of already indexed directories on > reboots (does it also happen if you just stop and start the tracker miner > fs?). Is it limited only to your "Downloads" directory? > - Something makes Tracker to try and index found files as if they weren't > already present in the DB (maybe something wrong with the file last modified > check/comparison and the held values in Tracker's internal file system > cache?). This causes the SPARQL insert queries to fail consistently. > - The reenqueue mechanism triggers the reinsertion of many directories, > which continue to fail consistently and thus output a large amount of error > logs. > > Btw, for the Tracker maintainers, there has been for some time a missing > g_object_unref() when a file to be reenqueued is dropped > (https://git.gnome.org/browse/tracker/tree/src/libtracker-miner/tracker-miner-fs.c#n2134). > They are ref'd when item_reenqueue() is called, but they are never unref'd > if the reenqueue'ing isn't actually done. This causes those files to get > permanently stuck in Tracker's filesystem cache.
Oops, you are right. IIRC you brought this up over IRC but then went forgotten... I've just pushed https://git.gnome.org/browse/tracker/commit/?id=900636b2bfe5b91175e521a4acd2296216eb52b0 fixing this. Thanks for the heads up! Carlos _______________________________________________ tracker-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/tracker-list
