← Back to team overview

zeitgeist team mailing list archive

[Bug 961974] Re: Recover from Zeitgeist database corruption (detected at query time)

 

[Development discussion, bug reporters feel free to ignore this]

OK, so the plan is to improve Zeitgeist's database corruption recovery.

The log provided in this bug report is for the get_last_id() query. I
don't know how many cases that'll cover, but if we want to be
comprehensive it won't be enough.

I'd prefer doing the checking at startup time, but I don't see any good way:
 a) PRAGMA integrity_check: way too slow
 b) PRAGMA quick_check: not sure if it'll catch everything? also, in my quick testing it scaled super-linearly (0.08s for 8MB DB, 0.16 for 13MB DB)
 c) SELECT from all tables: also likely not comprehensive enough.

The alternative would be checking all (?) queries we do for
SQLITE_CORRUPT and in that case calling Utils.retire_database. (We may
want some constraint though, to avoid ending up with 50 databases if
there's some serious file system problem with a system).

Comments?

-- 
You received this bug notification because you are a member of Zeitgeist
Framework Team, which is subscribed to Zeitgeist Framework.
https://bugs.launchpad.net/bugs/961974

Title:
  Recover from Zeitgeist database corruption (detected at query time)

Status in Unity:
  Incomplete
Status in Unity Files Lens:
  Incomplete
Status in Zeitgeist Framework:
  In Progress

Bug description:
  This is based on the checkbox test:
  1. Start gedit.
  2. Save a file named "foo" in your home folder.
  1. Tap super to open the dash
  2. Enter "f"
     -> The results should contain at least the "foo" file and "Firefox"
  3. Click on the cross next to "f", in the textentry
     -> The "f" search should be canceled, bringing you back to the generic "Search" entry with the default elements

  
  I slightly modified it and instead of file called foo I have a "hello_world_file" (as foo returned far too many other results).

  Actual result:
  The file can not be found via dash (or file lens).

  ProblemType: Bug
  DistroRelease: Ubuntu 12.04
  Package: unity 5.6.0+bzr2156ubuntu0+670 [origin: LP-PPA-unity-team-staging]
  ProcVersionSignature: Ubuntu 3.2.0-19.31-generic-pae 3.2.12
  Uname: Linux 3.2.0-19-generic-pae i686
  ApportVersion: 1.94.1-0ubuntu2
  Architecture: i386
  CompizPlugins: [core,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,unitymtgrabhandles,workarounds,scale,expo,ezoom,unityshell]
  CrashDB: unity
  Date: Thu Mar 22 10:00:40 2012
  InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release i386 (20111012)
  SourcePackage: unity
  UpgradeStatus: Upgraded to precise on 2012-02-17 (33 days ago)

To manage notifications about this bug go to:
https://bugs.launchpad.net/unity/+bug/961974/+subscriptions