Re: Akonadi + nfs home directories

Ingo Klöcker <[email protected]>
Newsgroups gmane.comp.kde.users.pim
Message-ID <[email protected]>
On Sunday 03 April 2011, Martin (KDE) wrote:
> Am Samstag, 2. April 2011 schrieb Kevin Krammer:
> > On Friday, 2011-04-01, Martin (KDE) wrote:
> > > Am Freitag, 1. April 2011 schrieb Kevin Krammer:
> > > > I don't think Akonadi uses this right now for file bases
> > > > caches, but that should probably be investigated.
> > > 
> > > until 4.5.5 akonadi uses .local/share/akonadi for the database.
> > 
> > Up until 1.5.1 :)
> > (which is the most recent release AFAIK)
> 
> Yeah, true. Sometimes I get confused with all the different numbers.
> 
> > And I was not talking about the database per se. Akonadi basically
> > has a size limit up to which it puts cache data into the database
> > as well, utilizing cache files for anything above that.
> > 
> > Assuming the desire to have cache data separate, one could
> > configure this limit to be very small, probably zero.
> > Thus the database will then only contain state and relational data.
> > 
> > One kind of cached data might still be better be in a data
> > location, i.e. data not yet uploaded to the actual backend (e.g.
> > server).
> 
> I am not sure that this should be an online database like mysql.
> Mysql is not supposed to run on NFS file systems. For non plain
> cache data a xml file may be an idea. this file (or files) can be
> stored in the home directory.

The problem is not mysql. The problems are concurrent file system access 
and change notification. It's irrelevant whether you store the 
information via a database or directly in files (replicating the complex 
functionality databases already provide).

In fact those problems are precisely some of the reasons why we came up 
with Akonadi. Akonadi (with its database backend) serves as single point 
of access for everybody who is interested in PIM data. Since the Akonadi 
server is a single process concurrent file system access is a non-issue. 
Also Akonadi server notifies interested parties about changes.

One of the main design decisions for Akonadi was that it serves only one 
user on one computer. We explicitly excluded problems caused by multi-
user and multi-computer support to keep the task manageable. It still 
took more than 5 years.


> At the end there are the configured sources. These data (at least
> partly) are cached in the database which is located somewhere in
> /var/tmp. All the additional data someone adds to pim sources that
> can not be stored in the pim source itself may be stored in a file
> (or offline database) and synced every now and then.
> 
> AFAIK all modern enterprise network file systems out there supports
> file locking.

When I last looked into NFS it still had severe problems with file 
locking. Anyway, file locking is the poor man's solution for the problem 
of concurrent file system access and it doesn't solve the much more 
important problem of change notification. All you know is that something 
has changed. To find out what has changed you have to re-read the whole 
file and compare it to the information you have in memory. That's 
exactly what we did before Akonadi and it was a major pain in the ass.

But all of this is mostly irrelevant. I think we all agree that the 
solution for the problems with NFS is to avoid the usage of NFS by 
storing Akonadi's cache not in the user's home directory but in /var/tmp 
(or /var/cache ?).


Regards,
Ingo

_______________________________________________
KDE PIM users mailing list
Subscription management: https://mail.kde.org/mailman/listinfo/kdepim-users
signature.asc (application/pgp-signature, 198 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)

iEYEABECAAYFAk2YP8kACgkQGnR+RTDgudhj+gCeOgAxAc3wg3ro6zl3BdN4Grx4
FJAAoMoBPH6ONCIM/mP0p2AZCYIkwJvk
=k5Vj
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.