1. 29 Sep, 2017 10 commits
  2. 03 Nov, 2016 1 commit
    • Carlos Garnacho's avatar
      libtracker-miner: Start TrackerDecorator queries on TrackerMiner::started · 9c24ffc2
      Carlos Garnacho authored
      This should not be done in the initable vfunc, as the miner should remain
      idle until tracker_miner_start() is called on it.
      
      This fixes a possible race condition in tracker-extract, where this query
      is already in flight at the time TrackerPersistence handles blacklisting
      of files that caused earlier crashes of tracker-extract. So the query might
      contain the file that's being blacklisted right away. tracker_miner_start()
      is called after TrackerPersistence did the blacklisting job, so the first
      query will get the up-to-date info.
      9c24ffc2
  3. 23 Aug, 2016 1 commit
  4. 10 Jun, 2016 1 commit
  5. 04 Jun, 2016 3 commits
    • Martin Kampas's avatar
      miner-fs: Fix handling files moved soon after creating · 7902523b
      Martin Kampas authored
      Noticed this when executing functional tests for write-back:
      
      (tracker-miner-fs:21288): Tracker-CRITICAL **: Could not execute sparql:
       Subject `(null)' is not in domain `nfo:FileDataObject' of property
       `nfo:fileName'
      
      This warning happens in item_move() when the source just didn't have
      time to be indexed. One example:
      
      copy ("file.txt", "temp_XYZ.file.txt")
       - received G_FILE_MONITOR_EVENT_CREATED ("temp.file.txt")
       - received G_FILE_MONITOR_EVENT_CHANGED ("temp.file.txt")
       - received G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT ("temp.file.txt")
      modify ("temp_XYZ.file.txt")
       - received G_FILE_MONITOR_EVENT_CHANGED ("temp.file.txt")
       - received G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT ("temp.file.txt")
      mv ("temp_XYZ.file.txt", "file.txt")
       - received G_FILE_MONITOR_EVENT_MOVED ("temp.file.txt", "file.txt")
       - emitted  ITEM_MOVED ("temp.file.txt", "file.txt")
      
      It was already handled in item_move() in past, but removed with eef0e7f3
      (libtracker-miner: Remove useless code) after previously misidentified
      as useless in scope of ee58e679 (libtracker-miner: Add compat layer for
      tracker_miner_fs_directory_*)
      
      The comment from ee58e679 """FIXME: This situation shouldn't happen from
      a TrackerFileNotifier event""" simply cannot be satisfied: no way to get
      "temp.file.txt" indexed before ITEM_MOVED is processed - the file
      disappears too fast.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=678986
      7902523b
    • Carlos Garnacho's avatar
      libtracker-miner: cater for unbound nfo:belongsToContainer when moving items · e5f565fb
      Carlos Garnacho authored
      Fixes warnings when moving indexing roots around. This query expects this
      property to be bound, resulting in no-op if that's not the case (e.g.
      indexing roots), later reinsertions of nie:url and other properties with
      max cardinality=1 trigger the whole update failure, because those weren't
      properly removed.
      e5f565fb
    • Carlos Garnacho's avatar
      libtracker-miner: Insert into the right graph when moving items · b7aa32c8
      Carlos Garnacho authored
      The query to update parent-dependent data was using the source file
      urn as a graph urn.
      b7aa32c8
  6. 28 May, 2016 3 commits
  7. 08 May, 2016 1 commit
    • Carlos Garnacho's avatar
      libtracker-miner: Give up on detailed decorator error logging · b9b776f3
      Carlos Garnacho authored
      It was the hope that this error logging would lead to useful
      but reports that helped qualitatively improve the extractor
      modules soon enough.
      
      But people suck, and instead we got lots of bugs about how
      much we spam syslog (as if we used the "warning" logging level
      just because) or how we violated their privacy, without further
      thinking that there might be reasons for those warnings in the
      first place (i.e. bugs that need fixing). Those bug reports
      are usually plagued with half-cut,half-edited snippets from
      syslog to prove their point, while at the same time invalidating
      their usefulness.
      
      So, change of approach. Now we just include the URN/URI in the
      error warning, and point people to using TRACKER_VERBOSITY=3 in
      order to get more information. The debug information will contain
      the full unedited sparql, and the relevant info will be surrounded
      by dotted lines so it is made clear the information that is useful.
      
      This will require an extra step for the people trying to be helpful,
      which hopefully those are willing to take. It will also hopefully
      calm the bunch of complains, and will give me no hesitation to close
      any further one we get as invalid.
      b9b776f3
  8. 05 May, 2016 8 commits
  9. 02 May, 2016 5 commits
  10. 27 Mar, 2016 1 commit
  11. 14 Mar, 2016 4 commits
  12. 11 Mar, 2016 1 commit
    • Carlos Garnacho's avatar
      libtracker-miner: Avoid querying file type in crawling queries · 27ac8871
      Carlos Garnacho authored
      We only really need the file type from the database when checking
      for contents that are no longer in the filesystem. This spares us
      the OPTIONAL in the (by far) most commonly performed query here,
      the one checking the contents that do exist in the filesystem.
      
      Also, modify the "deleted contents check" query so it performs
      better with a larger number of elements.
      27ac8871
  13. 25 Feb, 2016 1 commit
    • Carlos Garnacho's avatar
      libtracker-miner: lower g_critical() severity · 592da152
      Carlos Garnacho authored
      And check for another condition where it might happen (if
      tracker_crawler_start() happens on a non-existing dir). The severity
      of this situation is not really critical, so it's been lowered to a
      g_debug().
      592da152