comps: drop akonadi-server-mysql from defaults #730
Labels
No labels
a11y
btrfs
Closed As
Can't fix
Closed As
Deferred to upstream
Closed As
Duplicate
Closed As
Fixed
Closed As
Invalid
Closed As
Won't fix
default-apps
easyfix
epel
experience
flatpak
installation
kinoite
marketing
meeting
meeting-request
meta
mobile
need-info
need-work
nvidia
packaging
pending-action
updates
x11
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kde/tracker#730
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Akonadi has defaulted to SQLite since KDE Gear 26.04. The KDE desktop comps group should no longer explicitly select the MySQL backend.
The proposed changes remove around 90 packages from the transitive dependency set which reduces installed footprint by some 184 MiB, so a KDE Plasma desktop setup no longer pulls in a full database server, corresponding dba admin tooling and the dozens of perl modules they depend on.
comps PR, up for SIG review:
releng/fedora-comps#1334
And here's the corresponding packaging change:
https://bugzilla.redhat.com/show_bug.cgi?id=2541777
We discussed this a bit in the KDE SIG meeting.
Looking at the akonadi-server package, it currently is set to use mysql, so that would need to be changed. Not much of a problem.
The big problem is for people who already have been using akonadi-server with mysql.
In short, we need some type of upgrade path.
Nobody on our call knew enough about akonadi to know how easy or hard doing a switch of backends would be.
@tdawson wrote in #730 (comment):
There is akonadi-db-migrator. It ships in the akonadi-server package.
However, I couldn't get a sense of how stable / up-to-date it is from public reports. So I just dedicated a couple of hours to science to get a definitive answer.
I created some half a dozen sets of contacts, calendar events, and mail items, populating fresh instances of the above locally activated user scoped mysqld (actually mariadb) instance.
After each test set, I ran
akonadi-db-migrator --newengine sqliteThe migrations have worked well each time. Once a migration is completed, it stores a backup of the original files and doesn't start up the mysql process after that point.
(I don't use KDE PIM but it seems to benefit from having full access to the object model as a compiled executable to achieve faithful migration, rather than being a migration script.)
However, there is no UX that I can find. And from my testing it seems to require the mysql engine to be installed.
The one thing I haven't tried yet is launching a session where the user still has unmigrated mysql data files but where the akonadi-server-mysql package has been removed.
OK, we have a clear first step: https://src.fedoraproject.org/rpms/akonadi-server/pull-request/7
This changes the alternatives priorities so new users get sqlite. No deps change or migrator yet.
I've run-tested and confirmed that users who haven't yet migrated will still get their usual mysql instance spawned up, so it's conservatively safe and should be good for F44, F45 too.
@tdawson PTAL so we get that in the bag. Each new user who starts out with sqlite is one less user whose migration we'll have to support.
Meanwhile, I'll have an update soon on potential strategies to migrate or alert users. Testing confirms that simply dropping the dependency results in a sub-optimal outcome for existing users.