Has the KDE Social/Semantic Desktop been worth the hassle to anyone?
Kevin Krammer
krammer at kde.org
Sun Nov 18 10:52:58 GMT 2012
On Sunday, 2012-11-18, Duncan wrote:
> It ends up being a distro QA issue, but really, the problem is above the
> distro. I've seen at least one kde dev mention that had they known about
> mysql when they chose it as the first "stable" backend, what they know
> about it now, the choice may well have been different, even tho the
> reason mysql was first was because it was more ready than the others
> (sqlite, the newer default, wasn't properly thread-safe at the time, work
> had to be done to make it so, postgresql has AFAIK remained
> "experimental" the whole time, I'm not sure why, but it apparently has
> issues that aren't easy to fix, virtuoso was AFAIK very new and kde was
> the first big project to use it like that...).
SQLite has always been thread-safe but it used (and I think still uses) a
global lock do achieve that, meaning all access has to be serialized (one
after the other). The other engines can do concurrent access if the operations
are independent enough.
So it is more a matter of throughput than correctness.
Virtuoso would be a very obvious choice for an Akonadi setup running as part
of a KDE setup, however when last tried it or rather its SQL driver still
wasn't up to the job.
> For this and other similar reasons, had they the chance to do it over
> again, had they known about all these mysql complications, they'd have
> likely waited until sqlite got its thread-safe updates that have allowed
> it to be the new default.
As far as I know the default has remained unchanged as far as upstream is
concerned. Naturally any party in the chain from software vendor to user could
have decided to use a different default and if so has have taken care to ensure
a proper migration path.
> But, there's another wrench thrown into the works for akonadi and mysql
> as well. Unlike most of the rest of kde, where system defaults don't
> normally get written to the user config, only changes FROM the system
> defaults, in the akonadi case, it writes the backend used into the user
> configuration as well.
This is true for KDE programs because of their use of KDE's config handling
framework KConfig. Akonadi, not being a KDE application, doesn't have access to
that and the Qt configuration handling system, QSettings, doesn't have that
capability.
> Which creates a problem, because normally, system upgrades don't touch
> the user's home dir or the user configuration details stored therein. So
> guess what. When the upstream and most distros default switched to the
> now ready sqlite backend, many users continued using the old mysql
> backend, along with its more complicated issues, because the backend
> choice is written into the user's own configuration, even if they never
> changed it from the system default. So the system default changes, but
> the user specified configuration doesn't change with it. Normally that's
> a good thing, because the user specified configuration was a change FROM
> the default, thus something the user did deliberately. Unfortunately in
> this case...
If a switch in default backend would have to propagate to the user
installations, this would require some changes in the user home directories as
well (moving stuff from one database to another).
I am quite certain that the upstream default regarding backend hasn't changed,
so any distribution changing the default will either have deployed a migration
process of some sort anyway or leave existing setups untouched by choice in
order not to have to.
Cheers,
Kevin
--
Kevin Krammer, KDE developer, xdg-utils developer
KDE user support, developer mentoring
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde/attachments/20121118/9ea5bddf/attachment.sig>
-------------- next part --------------
___________________________________________________
This message is from the kde mailing list.
Account management: https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.
More information about the kde
mailing list