SonicDE-rpmspecs/akonadi-server/400.patch
test 1c879e6707
Some checks failed
Build RPMs / build (push) Has been cancelled
Add missing KDE Gear 26.04.3 and Plasma 6.7.4 packages for SonicDE.
Packages built from Fedora EPEL 10.3 specs and uploaded to Forgejo:
akonadi-server, ark, audiocd-kio, baloo-widgets, ffmpegthumbs, kalk,
kcharselect, kdialog, kdnssd, keditbookmarks, kfind, khelpcenter,
kio-admin, kio-gdrive, kjournald, kpmcore, krfb, kwalletmanager5,
ocean-sound-theme (6.7.4).

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-08-31 15:50:05 +00:00

69 lines
2.6 KiB
Diff

From f0d71c9a28491b3fa664c1c520558c591061cb99 Mon Sep 17 00:00:00 2001
From: Allen Winter <winter@kde.org>
Date: Thu, 9 Jul 2026 07:25:18 -0400
Subject: [PATCH] WIP - Fixes for Akonadi killing MariaDB too quickly
[Tested with Fedora44 and mariadb 11.8.8]
[No idea if these settings are ok for other MySQL variants]
Implement the recommendations in BUG522845 to prevent crashes
on login/logout when using the MariaDB backend.
Includes these changes:
- increase the wait from 3 to 30 seconds before termination
- remove the `TimeoutSec=5sec` in akonadi_control.service.in
so that systemd doesn't try to kill things after 5 seconds wait.
- add `skip_slave_start` to mysql-global.conf so that replica
threads are not started which should improve startup time.
BUG: 522845
---
src/akonadicontrol/akonadi_control.service.in | 1 -
src/server/storage/dbconfigmysql.cpp | 4 ++--
src/server/storage/mysql-global.conf | 3 +++
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/akonadicontrol/akonadi_control.service.in b/src/akonadicontrol/akonadi_control.service.in
index 03c35ef5d..26f4b1838 100644
--- a/src/akonadicontrol/akonadi_control.service.in
+++ b/src/akonadicontrol/akonadi_control.service.in
@@ -9,7 +9,6 @@ PartOf=graphical-session.target
ExecStart=@CMAKE_INSTALL_FULL_BINDIR@/akonadi_control
Type=dbus
BusName=org.freedesktop.Akonadi.Control
-TimeoutSec=5sec
Slice=background.slice
# Disable restart as we're dbus activated anyway
Restart=no
diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp
index 5f1dbd2e0..bb82a6537 100644
--- a/src/server/storage/dbconfigmysql.cpp
+++ b/src/server/storage/dbconfigmysql.cpp
@@ -609,8 +609,8 @@ void DbConfigMysql::stopInternalServer()
}
mDatabaseProcess->terminate();
- const bool result = mDatabaseProcess->waitForFinished(3000);
- // We've waited nicely for 3 seconds, to no avail, let's be rude.
+ const bool result = mDatabaseProcess->waitForFinished(30000);
+ // We've waited nicely for 30 seconds, to no avail, let's be rude.
if (!result) {
mDatabaseProcess->kill();
}
diff --git a/src/server/storage/mysql-global.conf b/src/server/storage/mysql-global.conf
index b381ea502..9cc47ecf7 100644
--- a/src/server/storage/mysql-global.conf
+++ b/src/server/storage/mysql-global.conf
@@ -78,6 +78,9 @@ loose_query_cache_size=0
# Do not cache results (default:1)
loose_query_cache_type=0
+# Tells the replica server not to start the replication I/O (receiver) and SQL (applier) threads when the server starts
+skip_slave_start
+
# Do not use the privileges mechanisms
skip_grant_tables
--
GitLab