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

Re: Possible akonadi problem?



On Friday, 2015-01-23, 09:54:10, Martin Steigerwald wrote:

> 1) It is a *cache* and *nothing* else. It never stores any information
> inside the cache that isn´t stored elsewhere or that it isn´t able to
> rebuild. That said, in case of issues with the cache, it is possible to
> remove it and rebuild it from scratch *without* *any* data loss involved
> and *without* having to recreate filter rules.

That's not always possible.
Most obvious example is writing data to backends who's actual storage is 
unreachable, i.e. an IMAP server not reachable due to no network connection.

Another example is message status for messages in MBOX files.
Might be possible to store some things in extended attributes, but not all 
filesystems allow it.
But this is something that could be looked into.

> 2) Make it *just plain* obvious *where* Akonadi stores the configuration
> and the data. For now its at least ~/.config/akonadi one or two files per
> resource (the changes.dat there), ~/.kde/share/config/akonadi*,
> ~/.kde/share/config/kmail2rc (it contains references to Akonadi resources),
> ~/.kde/share/config/ which contains the local filter rules.

The config for Akonadi is in $XDG_CONFIG_HOME/akonadi.
The other locations are those of programs using Qt4 based kdelibs. The switch 
fir XDG_CONFIG_HOME will most likely happen with the first Qt5 based version 
of said programs.

> 5) If you use a database, make perfectly sure that there *never ever* can
> be two database processes trying to access the same database. I have seen
> this several times with Akonadi MYSQL backend that I had two mysqld
> processes. Thread the database as *part* of Akonadi and make an akonadictl
> *stop* it *or* report a failure when it cannot stop it. And make akonadictl
> never start it, if there is still one running.

My understanding is that the control process sees the subprocess as finished.
This will of course be solved by systemd which can terminate subprocesses 
based on cgroups membership.

Cheers,
Kevin

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: