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

Re: Sqlite akonadi transaction mode fix



Am Donnerstag, 22. Januar 2015, 10:39:38 schrieb David Goodenough:
> On Thursday 22 January 2015 10:50:53 Martin Steigerwald wrote:
> > Am Mittwoch, 21. Januar 2015, 09:49:18 schrieb David Goodenough:
> > > I use KdePIM and thus akonadi with SqLite.  I am running unstable and am
> > > up to date with fixes.
> > 
> > No. Its no default. Default is Akonadi with MySQL. If you use SQLite,
> > AFAIK
> > you chose that yourself explicetely. So its no "thus" here, cause you have
> > a choice which backend to use.
> 
> My bad, there was a missing comma.  It should have read "I use KdePIM and
> thus akonadi, with Sqlite".  And yes, I chose Sqlite and wish to use it.
> 
> > > Looking in the KDE bug database I found:-
> > > 
> > > http://osdir.com/ml/kde-commits/2014-07/msg02228.html
> > > 
> > > which seems to address the repeated dialog boxes I get while filters run
> > > on
> > > my mailboxes, and the log messages of which:-
> > > 
> > > DATABASE ERROR:
> > >   Error code: 6
> > >   DB error:  "database is deadlocked"
> > >   Error text: "database is deadlocked Unable to fetch row"
> > >   Query: "UPDATE PimItemTable SET atime = ? WHERE ( ( PimItemTable.id =
> > >   ?
> > >   )
> > > 
> > > )"
> > > 
> > > is an example.  All the errors I get currently are deadlock errors.
> > > 
> > > I don't think this fix is in the current build, and I realise that
> > > Debian
> > > is getting ready for a new release and thus it is unlikely that this fix
> > > will be able to be slotted in any time soon.  Can I simply get the
> > > source, add this one patch and rebuild, or is it more complicated.  Also
> > > which package(s) would I have to rebuild?  Is it just
> > > akonadi-backend-sqlite?
> > 
> > I read again and again, that KDEPIM developers themselves recommend not to
> > use SQLite backend. I used PostgreSQL backend for some time, but now use
> > MySQL backend as I believe it is most widely tested. But AFAIK as least
> > one
> > KDEPIM developers uses the PostgreSQL backend. It has the disadvantage
> > tough that on major PostgreSQL updates you have to dump and restore the
> > database to upgrade its structures.
> > 
> > I compiled akonadi and kdepim myself quite some time, but not from
> > package,
> > but installed it to /usr/local and initialized it with some environment
> > variable settings. Its all described on kde wiki sites.
> > 
> > As to using Debian packages: Well basically its grab the source, change,
> > rebuild. You would need quite some build dependencies satisfied, but you
> > need that either way. The turn around time would be higher than just
> > compiling and installing with make install I think, but I bet you wouldn´t
> > need to do this often.
> > 
> > That said, I didn´t rebuild KDEPIM related packages yet, but I did this
> > with Digikam and it worked quite nice.
> > 
> > As for updates to Debian packages, I´d like to see current akonadi 1.13
> > branch packages, cause it contains quite some noticeable performance
> > updates regarding database access that made MySQL disappear from cpu usage
> > top for most of the time. Its really a huge difference.
> > 
> > I use c733429f4fa9696fb027ddc946e54f6bbb68deaf of Akonadi git repo on two
> > of my systems for at least a month and it works nice.
> > 
> > And well if what you point to is really a fix, I bet it may be
> > cherry-picked for the package. But if you can verify first, that the fix
> > works, I think chances are higher to convince a Debian Qt/KDE team member
> > to merge the change. So your idea of testing it locally by compiling
> > yourself makes sense to me.
> 
> I am happy to do this, what I was trying to find out was exactly which
> packages I would need to rebuild - does akonadi-backend-sqlite seem right?
> or am I going to have to rebuild the whole of kdepim?

You need to rebuild the akonadi source package:

merkaba:~> apt-cache show akonadi-backend-sqlite 
Package: akonadi-backend-sqlite
Source: akonadi

As I use a self-compiled akonadi 1.13 branch together with KDEPIM as packaged 
in Debian Sid currently, there shouldn´t be an issue.

Heck, you can even just try to compile and install into /usr/local, without 
building a package using the approach I have shown in my other mail.

You would need to sent the cmake variable for the database backend 
accordingly. I have

 DATABASE_BACKEND                 MYSQL

there.

if trying to compile from Git 1.13 branch. But that would get you the database 
optimizations as well that I have been testing over the last months. I think 
they are in the generic database code, so may benefit the SQLite backend as 
well.

Ciao,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7


Reply to: