akonadi does not start with "Sql error: The table 'parttable' is full" after migration from 42.3

Problem: akonadi does not start, rendering Kontact, KMail and other applications useless.

Migration from 42.3 to LEAP 15.0 was done without major hassles (with zypper, I was answering a lot of dependency resolving questions because the version number scheme switch).
Long time akonadi / kontact user with lots of objects in the cache,
after login akonadi does not start anymore.

The error message when trying to start it is:

org.kde.pim.akonadiserver: checking table “PartTable”
org.kde.pim.akonadiserver: “ALTER TABLE PartTable ADD COLUMN storage TINYINT DEFAULT 0”
org.kde.pim.akonadiserver: "
Sql error: The table ‘parttable’ is full QMYSQL: Unable to execute query
Query: ALTER TABLE PartTable ADD COLUMN storage TINYINT DEFAULT 0"

Any ideas?

Searching for “parttable” and “full” on this forum or bugs.kde.org did not yield any helpful results.

There is more than 1GiByte free space on the home partition for this user. There may have been a size shortage during migration at an earlier point of time.
(home is at a partition for itself, there were 0.5 GiByte left when I’ve looked the first time.)

akonadi-server-17.12.3-lp150.1.2.x86_64

details of akonadictl --verbose start

Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
bern@kymo ~> org.kde.pim.akonadiprivate: search paths: ("/usr/local/bin", “/usr/bin”, “/bin”, “/usr/X11R6/bin”, “/usr/bin”, “/usr/sbin”, “/usr/local/sbin”, “/usr/local/libexec”, “/usr/libexec”, “/opt/mysql/libexec”, “/opt/local/lib/mysql5/bin”, “/opt/mysql/sbin”)
org.kde.pim.akonadiserver: Found mysql_install_db: “/usr/bin/mysql_install_db”
org.kde.pim.akonadiserver: Found mysqlcheck: “/usr/bin/mysqlcheck”
org.kde.pim.akonadiserver: Using mysqld: “/usr/sbin/mysqld”
org.kde.pim.akonadiserver: mysqld reports version 10.2.15 (MariaDB)
org.kde.pim.akonadiserver: Executing: “/usr/sbin/mysqld” “–defaults-file=/home/bern.local/share/akonadi/mysql.conf --datadir=/home/bern.local/share/akonadi/db_data/ --socket=/tmp/akonadi-bern.wIw8W7/mysql.socket --pid-file=/tmp/akonadi-bern.wIw8W7/mysql.pid”
org.kde.pim.akonadiserver: Executing: “/usr/bin/mysqlcheck” “–defaults-file=/home/bern/.local/share/akonadi/mysql.conf --check-upgrade --auto-repair --socket=/tmp/akonadi-bern.wIw8W7/mysql.socket akonadi”
akonadi.collectionattributetable OK
akonadi.collectionmimetyperelation OK
akonadi.collectionpimitemrelation OK
akonadi.collectiontable OK
akonadi.flagtable OK
akonadi.mimetypetable OK
akonadi.parttable OK
akonadi.parttypetable OK
akonadi.pimitemflagrelation OK
akonadi.pimitemtable OK
akonadi.pimitemtagrelation OK
akonadi.relationtable OK
akonadi.relationtypetable OK
akonadi.resourcetable OK
akonadi.schemaversiontable OK
akonadi.tagattributetable OK
akonadi.tagremoteidresourcerelationtable OK
akonadi.tagtable OK
akonadi.tagtypetable OK
org.kde.pim.akonadiserver: MySQL version OK (required “5.1” , available “10.2” )
org.kde.pim.akonadiserver: Database “akonadi” opened using driver “QMYSQL”
org.kde.pim.akonadiserver: DbInitializer::run()
org.kde.pim.akonadiserver: checking table “SchemaVersionTable”
org.kde.pim.akonadiserver: checking table “ResourceTable”
org.kde.pim.akonadiserver: checking table “CollectionTable”
org.kde.pim.akonadiserver: checking table “MimeTypeTable”
org.kde.pim.akonadiserver: checking table “PimItemTable”
org.kde.pim.akonadiserver: checking table “FlagTable”
org.kde.pim.akonadiserver: checking table “PartTypeTable”
org.kde.pim.akonadiserver: checking table “PartTable”
org.kde.pim.akonadiserver: “ALTER TABLE PartTable ADD COLUMN storage TINYINT DEFAULT 0”
org.kde.pim.akonadiserver: "
Sql error: The table ‘parttable’ is full QMYSQL: Unable to execute query
Query: ALTER TABLE PartTable ADD COLUMN storage TINYINT DEFAULT 0"
org.kde.pim.akonadiserver: Unable to initialize database.
org.kde.pim.akonadiserver: terminating connection threads
org.kde.pim.akonadiserver: terminating service threads
org.kde.pim.akonadiserver: Shutting down “NotificationManager” …
org.kde.pim.akonadiserver: stopping db process
org.kde.pim.akonadiserver: Shutting down AkonadiServer…
org.kde.pim.akonadicontrol: Application ‘akonadiserver’ exited normally…
~>
~> akonadictl fsck
Akonadi Server is not running, check will not run

An “alter table” operation might need to copy the table in question. So it depends on the current size of this table, if mariadb runs out of space.
Can you check the current size?
Maybe check the files in datadir=/home/bern.local/share/akonadi/db_data/ or
start the server with

"/usr/sbin/mysqld"  "--defaults-file=/home/bern.local/share/akonadi/mysql.conf  --datadir=/home/bern.local/share/akonadi/db_data/  --socket=/tmp/akonadi-bern.wIw8W7/mysql.socket  --pid-file=/tmp/akonadi-bern.wIw8W7/mysql.pid"

and query the system catalog.

Hendrik

Hendrik,
thanks for the reply and for the suggestions.

I’ll check into the size. Note that parttable is within the akonadi database.
And yes, it is big, so I’ll see if I can get more space freed before trying to restart akonadi.

Bernhard


 du --si -s /home/bern/.local/share/akonadi/db_data/*


2,6G    /home/bern/.local/share/akonadi/db_data/akonadi
17k     /home/bern/.local/share/akonadi/db_data/aria_log.00000001
4,1k    /home/bern/.local/share/akonadi/db_data/aria_log_control
4,1k    /home/bern/.local/share/akonadi/db_data/auto.cnf
25k     /home/bern/.local/share/akonadi/db_data/ib_buffer_pool
68M     /home/bern/.local/share/akonadi/db_data/ib_logfile0
68M     /home/bern/.local/share/akonadi/db_data/ib_logfile1
70M     /home/bern/.local/share/akonadi/db_data/ibdata1
0       /home/bern/.local/share/akonadi/db_data/multi-master.info
1,1M    /home/bern/.local/share/akonadi/db_data/mysql
4,1k    /home/bern/.local/share/akonadi/db_data/mysql.err
15M     /home/bern/.local/share/akonadi/db_data/mysql.err.old
218k    /home/bern/.local/share/akonadi/db_data/performance_schema
4,1k    /home/bern/.local/share/akonadi/db_data/test

Once enough space was freed on the home partition for this user,
the update of the database structure worked like a charm,
it temporarily used about 2.6 GByte of space!

Hendrik, Thanks!

Regards,
Bernhard