[Akonadi] [Bug 340813] sometimes two copies of mysqld are running with Akonadi

Martin Steigerwald Martin at Lichtvoll.de
Wed Jan 28 09:28:19 GMT 2015


https://bugs.kde.org/show_bug.cgi?id=340813

--- Comment #6 from Martin Steigerwald <Martin at Lichtvoll.de> ---
Okay, I think I deleted the mysql.err log I had on my private KDEPIM / Akonadi
setup after restoring from scratch by letting it build a new database, cause I
was just too angry at all of this.

What happened there was: I had two instanced for mysqld running after stopping
and starting Akonadi after I put SizeTreshold=32768 running and I didn´t notice
that. Due to this bug I usually check whether a MySQL daemon is still around
and kill it manually with SIGTERM friendly if it still is around after some
time. At this time I forgot about this.

What happened on one of the next restarts was that mysqld was trying to recover
from log file and it wrote in bursts of 150 to 300 MiB per seconds onto the
Dual SSD BTRFS RAID 1 for minutes. Akonadi was almost totally blocked. The
MySQL easily wrote more than ten times or even more data than the whole size
the database had as this time (around 2 GiB).

At one time I lost my patience and also wanted to avoid needless excessive
writes to the SSD. So I went on to kill mysqld with SIGTERM. It didn´t respond.
I then after some time did SIGKILL.

On the next restart of Akonadi it started to write excessively again, while it
may be that the mysqld at some point would have been able to repair itself from
logfile, I cannot tell, as I lost my patience after a while and well, I even
tough SSD can take lots, I didn´t want to have mysqld to write onto it like
this for hours.

Thus I send redid my Akonadi setup from scratch.

Okay, since I cannot prove the data loss as it may have completed I am
downgrading the bug again a bit, but still I think its a grave issue that
Akonadi tolerates two mysqld processing running on the same database. At least
on akonadictl start if it finds an old MySQL process for the database still
around I think it is good if it prints a BIG FAT WARNING, and does not continue
with starting up Akonadi.

But I think for usability it may be good if after some timeout Akonadi also
sends the mysqld process a SIGTERM and also complains if it doesn´t respond to
it without some time.

For robustness sake, I think thats very important. I am pondering to use a
central MySQL or PostgreSQL server again for this reason. On any account two
mysqld process on the same database is a pretty bad idea.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Kdepim-bugs mailing list