LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Akonadi and MariaDB 10.2.8 (https://www.linuxquestions.org/questions/slackware-14/akonadi-and-mariadb-10-2-8-a-4175612895/)

denydias 08-30-2017 02:54 AM

Akonadi and MariaDB 10.2.8
 
Hi there,

I have just upgraded to slackware64 current changes for Wed, 30 Aug 2017 02:41:28 GMT.

Now akonadi says:

Code:

$ akonadictl start
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QSQLITE3 QMYSQL QMYSQL3
org.kde.pim.akonadiserver: Invalid database object during database server startup
org.kde.pim.akonadiserver: Failed to remove runtime connection config file
org.kde.pim.akonadicontrol: Application 'akonadiserver' exited normally...

Is there something I can do to update Akonadi's database before starting it?

gmgf 08-30-2017 05:07 AM

Probably qt4 and akonadi need rebuild with the new mariadb, i use plasma5 here and qt5, need also rebuild.

ponce 08-30-2017 08:13 AM

looking a little around seems like these are the rebuild candidates
Code:

amarok                                                                                   
calligra                                                                                 
perl                                                                                     
qt                                                                                       
redland                                                                                   
ulogd

I had to modify the ulogd.SlackBuild because sgml2html is not able to process the file anymore :( (but we still have the *.txt doc)
Code:

--- ./ulogd.SlackBuild.orig    2015-12-06 21:28:26.000000000 +0100
+++ ./ulogd.SlackBuild  2017-08-30 15:06:41.999702802 +0200
@@ -82,7 +82,6 @@
 
 cd doc
  sgml2txt ulogd.sgml
-  sgml2html -s 0 ulogd.sgml
 cd ..
 
 find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | \
@@ -102,7 +101,7 @@
 
 mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION/samples
 cp -a \
-  AUTHORS COPYING* README* TODO doc/ulogd.{txt,html} \
+  AUTHORS COPYING* README* TODO doc/ulogd.txt \
  $PKG/usr/doc/$PKGNAM-$VERSION
 cp -a doc/*.sql doc/*.table $PKG/usr/doc/$PKGNAM-$VERSION/samples


denydias 08-30-2017 10:17 AM

Quote:

Originally Posted by gmgf (Post 5753621)
Probably qt4 and akonadi need rebuild with the new mariadb, i use plasma5 here and qt5, need also rebuild.

Oh! Also in AlienBob's plasma5 and qt5 wagon here. Sorry not to mention that!

gmgf 08-30-2017 11:02 AM

Quote:

Originally Posted by denydias (Post 5753746)
Oh! Also in AlienBob's plasma5 and qt5 wagon here. Sorry not to mention that!

I'm recompiling qt5-5.9.1, but it takes between 4 and 6 hours here, after, I would post a message on Eric's blog.

Chuck56 08-30-2017 11:32 AM

Same issue here on stock 64-current, Akonadi server did not start after the 2017-08-30 updates. My temporary solution is to fall back to the previous mariadb-10.0.32 and jemalloc-3.6.0 packages until the dependencies are ironed out. Akonadi starts now as expected. I'll keep an eye out for breakages I may have introduced with falling back on these 2 packages.

denydias 08-30-2017 12:20 PM

Quote:

Originally Posted by Chuck56 (Post 5753774)
My temporary solution is to fall back to the previous mariadb-10.0.32 and jemalloc-3.6.0 packages until the dependencies are ironed out.

Where did you find these old -current packages?

Chuck56 08-30-2017 12:30 PM

Quote:

Originally Posted by denydias (Post 5753787)
Where did you find these old -current packages?

I checked the https://mirrors.slackware.com/mirrorlist/ and found a mirror that had not updated yet with the latest packages. https://dfw.mirror.rackspace.com/slackware/ was still showing the old packages for slackware64-current.

denydias 08-30-2017 12:43 PM

Quote:

Originally Posted by Chuck56 (Post 5753792)
I checked the https://mirrors.slackware.com/mirrorlist/ and found a mirror that had not updated yet with the latest packages. https://dfw.mirror.rackspace.com/slackware/ was still showing the old packages for slackware64-current.

Tks a lot!

denydias 08-30-2017 01:47 PM

After downgrading to mariadb-10.0.32, it's important to follow these steps to also downgrade databases.

So Akonadi could restart after downgrading, follow this step and then:

Code:

$ cd ~/.local/share/akonadi/
$ rm -rf *.old socket-* db_data/ib_logfile* db_data/*.err db_data/*.old
$ akonadictl start

That should bring your email, calendar and contacts back, although no new entries could be added (even new emails arriving). There will be errors like this in Akonadi's log:

Code:

Connecting to deprecated signal org.kde.pim.akonadiserver: DATABASE ERROR:
org.kde.pim.akonadiserver:  Error code: 1036
org.kde.pim.akonadiserver:  DB error:  "Table 'pimitemtable' is read only"
org.kde.pim.akonadiserver:  Error text: "Table 'pimitemtable' is read only QMYSQL3: Não foi possível executar a expressão"
org.kde.pim.akonadiserver:  Query: "UPDATE PimItemTable SET atime = :0 WHERE ( PimItemTable.collectionId = :1 )"
org.kde.pim.akonadiserver: Unable to update item access time

Removing innodb_force_recovery = 1 from ~/.local/share/akonadi/mysql.conf will lead to Akonadi refusing to start again.

At least this will give you a read only environment so you can access your stuff until more robust fixes arise. Time to use your account web UI for a while.

gmgf 08-30-2017 01:51 PM

Finally i have rebuild qt5 for nothing, because this mariadb version have a problem with akonadi (plasma5) version:

https://www.mail-archive.com/kde-bug...msg168566.html

denydias 08-30-2017 01:59 PM

Quote:

Originally Posted by gmgf (Post 5753831)
Finally i have rebuild qt5 for nothing, because this mariadb version have a problem with akonadi (plasma5) version:

Good to know! This holds me to rm -rf ~/.local/share/akonadi, configure and sync the whole thing again to get into the same conclusion as you. Thanks for sharing.

Chuck56 08-30-2017 02:15 PM

Quote:

Originally Posted by denydias (Post 5753828)
After downgrading to mariadb-10.0.32, it's important to follow these steps to also downgrade databases.

So Akonadi could restart after downgrading, follow this step and then: ...

Just for the record, those steps aren't needed for slackware64-current with the stock KDE 4.14.35. The 2 package downgrades allowed akonadi to work without any other modifications.

gmgf 08-30-2017 03:15 PM

Refinally ;)

i have applied this unofficial patch to akonadi (plasma5 version) i use akonadi-17.08.0.

--- akonadi-17.04.3/src/server/storage/dbconfigmysql.cpp 2017-08-11 23:29:02.088613966 +0800
+++ akonadi-17.04.3/src/server/storage/dbconfigmysql.cpp 2017-08-11 23:22:18.808432643 +0800
@@ -492,7 +492,7 @@
}
}

- QSqlDatabase::removeDatabase(initCon);
+ //QSqlDatabase::removeDatabase(initCon);
return success;
}

akonadi and kmail seem worked correctly ;)

denydias 08-31-2017 01:30 AM

Quote:

Originally Posted by denydias (Post 5753828)
At least this will give you a read only environment...

It turns out that a...

Code:

mv ~/.local/share/akonadi ~/.local/share/akonadi.orig
...worked a lot better than I expected! I thought I was being forced to reconfigure all accounts and settings for Kontact Suite (KMail, KOrganizer and KAddressBook and friends ) from scratch. My mistake! Accounts and settings are kept elsewhere, just their content are sync'ed again (email messages, contacts and calendars).

So if you're bitten by this while in KDE5 and are in a hurry for your precious data, first downgrade to mariadb-10.0.32 as shown above, then run:

Code:

akonadictl stop
rm -rf ~/.local/share/akonadi
akonadictl start

Give the thing some time to sync the whole thing again. Might take hours depending on your data size and connection speed.

A bonus: my +5 years old Akonadi data directory was 8.6GB in size. After this resync it is now 4GB. 4.6GB of what seems pure overhead was gone.

EDIT:
For now, I advise you to put mysql and jemalloc in /etc/slackpkg/blacklist (or greylist if you use slackpkg+).


All times are GMT -5. The time now is 04:04 PM.