Ticket 25716

Summary: slurmdbd upgrade 25.11.7 to 26.05.3 error: mysql_query failed: 1114 The table 'niflheim_job_table' is full
Product: Slurm Reporter: Ole.H.Nielsen <Ole.H.Nielsen>
Component: DatabaseAssignee: Chad Vizino <cvizino>
Status: RESOLVED INFOGIVEN QA Contact:
Severity: 3 - Medium Impact    
Priority: --- CC: cvizino
Version: 26.05.3   
Hardware: Linux   
OS: Linux   
Site: DTU Physics Slinky Site: ---
Alineos Sites: --- Atos/Eviden Sites: ---
Confidential Site: --- Coreweave sites: ---
Cray Sites: --- DS9 clusters: ---
Google sites: --- HPCnow Sites: ---
HPE Sites: --- IBM Sites: ---
NOAA SIte: --- NoveTech Sites: ---
Nvidia HWinf-CS Sites: --- OCF Sites: ---
Recursion Pharma Sites: --- SFW Sites: ---
SNIC sites: --- Tzag Elita Sites: ---
Linux Distro: --- Machine Name:
CLE Version: Version Fixed:
Target Release: --- DevPrio: ---
Emory-Cloud Sites: ---
Attachments: slurmdbd.log
slurmdbd.conf

Description Ole.H.Nielsen@fysik.dtu.dk 2026-08-17 08:11:11 MDT
We're planning to upgrade our cluster from 25.11.7 to 26.05.3, and first I tested the slurmdbd database upgrade.  The upgrading is carried out on a dedicated test node as specified in our public Wiki page [1].  Our servers are running RockyLinux 8.10 (fully upgraded).

On the test node I import the database dump to the MariaDB database, this took 27 minutes:

$ bzcat mysql_dump.bz2 | mysql -u root -p

After testing the test node's 25.11.7 slurmdbd as specified in the Wiki, I come to step 10:

$ time slurmdbd -D -vvv

Unfortunately, this step fails with some error messages:

...
[2026-08-17T15:19:47.856] error: mysql_query failed: 1114 The table 'niflheim_job_table' is full
...
[2026-08-17T15:19:47.856] accounting_storage/as_mysql: init: Accounting storage MYSQL plugin failed
[2026-08-17T15:19:47.860] debug2: no streaming replication settings to restore
[2026-08-17T15:19:47.860] error: Couldn't load specified plugin name for accounting_storage/mysql: Plugin init() callback failed
[2026-08-17T15:19:47.860] error: cannot create accounting_storage context for accounting_storage/mysql
[2026-08-17T15:19:47.860] fatal: Unable to initialize accounting_storage/mysql accounting storage plugin

Please see the complete slurmdbd.log attachment.

Some points that I worry about:

* Has MariaDB filled up the hard disk, and how can I detect this?  Using "df" there is still space available in the / file system.

* Is my innodb_buffer_pool_size = 32768M too small for the slurmdbd upgrade?

* The number of jobs in the database is a bit less than 11 million, and may this cause the above table 'niflheim_job_table' is full error?

Could you kindly help me correct the slurmdbd upgrade error?  

Best regards,
Ole

[1] https://wiki.fysik.dtu.dk/Niflheim_system/Slurm_installation/#make-a-dry-run-database-upgrade
Comment 1 Ole.H.Nielsen@fysik.dtu.dk 2026-08-17 08:11:33 MDT
Created attachment 46044 [details]
slurmdbd.log
Comment 2 Ole.H.Nielsen@fysik.dtu.dk 2026-08-17 08:13:31 MDT
Created attachment 46045 [details]
slurmdbd.conf
Comment 3 Chad Vizino 2026-08-17 11:59:21 MDT
Hi Ole. You may be hitting a temporary space limit during the conversion. The failure happens partway through the schema-upgrade ALTER TABLE niflheim_job_table (started 15:16:40, failed 15:19:47). This ALTER changes the primary key (drops it and re-adds job_db_inx as the primary key) and rewrites indexes. Under MariaDB, a primary-key change requires a full table rebuild.

Error 1114 "table is full" means InnoDB couldn't grow files it's writing to during this rebuild, even though df shows the file system is not full.

So the space to check is wherever your MariaDB datadir and tmpdir/innodb_tmpdir actually live. Check these:

SHOW VARIABLES LIKE 'datadir';
SHOW VARIABLES LIKE 'tmpdir';
SHOW VARIABLES LIKE 'innodb_tmpdir';
SHOW VARIABLES LIKE 'innodb_data_file_path';
SHOW VARIABLES LIKE 'innodb_file_per_table';
SELECT data_length/1024/1024/1024 AS data_gb, index_length/1024/1024/1024 AS index_gb FROM information_schema.tables WHERE table_name='niflheim_job_table';

Then run df on whatever paths datadir/tmpdir/innodb_tmpdir point to.

Note that innodb_buffer_pool_size=32768M is unrelated to this error. It's a memory cache for reads/writes, not disk space for a table rebuild so no need to change it for this issue.

Once you locate and free up space or point to a large file system, you can rerun slurmdbd and hopefully it will just work...let me know how this goes.
Comment 4 Ole.H.Nielsen@fysik.dtu.dk 2026-08-18 01:59:57 MDT
Hi Chad,

Thanks a lot for pointing to the database disk space as being the source of the present 
problem!  As the test server for the dry run slurmdbd upgrade [1] I had chosen a compute 
node with a root (/) filesystem of only 32 GB.  I was able to expand this to 100 GB, 
and then I repeated [1] from the beginning.  This time the slurmdbd upgrade worked 
like a charm :-)

During the upgrade the disk usage grew to 28 GB:

$ du -h /var/lib/mysql/
2.6M	/var/lib/mysql/mysql
4.0K	/var/lib/mysql/performance_schema
27G	/var/lib/mysql/slurm_acct_db
28G	/var/lib/mysql/

and it fell to 17 GB afterwards.

So we should now be ready for the upgrade to 26.05.3.

However, I wonder if the slurmdbd upgrade process could print to the log some
estimates of the disk space requirements for datadir/tmpdir/innodb_tmpdir?
The error messages reported in comment 0 are not very helpful for pointing 
in the right direction :-(

If the mysql command were able to execute external "df" commands for 
datadir/tmpdir/innodb_tmpdir, then the slurmdbd upgrade might be able 
to terminate with warnings before starting the upgrade.  That would be 
a "nice to have" feature.

Best regards,
Ole


(In reply to Chad Vizino from comment #3)
> Hi Ole. You may be hitting a temporary space limit during the conversion.
> The failure happens partway through the schema-upgrade ALTER TABLE
> niflheim_job_table (started 15:16:40, failed 15:19:47). This ALTER changes
> the primary key (drops it and re-adds job_db_inx as the primary key) and
> rewrites indexes. Under MariaDB, a primary-key change requires a full table
> rebuild.
> 
> Error 1114 "table is full" means InnoDB couldn't grow files it's writing to
> during this rebuild, even though df shows the file system is not full.

[1] https://wiki.fysik.dtu.dk/Niflheim_system/Slurm_installation/#make-a-dry-run-database-upgrade
Comment 5 Chad Vizino 2026-08-18 08:21:37 MDT
(In reply to Ole.H.Nielsen@fysik.dtu.dk from comment #4)
> However, I wonder if the slurmdbd upgrade process could print to the log some
> estimates of the disk space requirements for datadir/tmpdir/innodb_tmpdir?
> The error messages reported in comment 0 are not very helpful for pointing 
> in the right direction :-(
> 
> If the mysql command were able to execute external "df" commands for 
> datadir/tmpdir/innodb_tmpdir, then the slurmdbd upgrade might be able 
> to terminate with warnings before starting the upgrade.  That would be 
> a "nice to have" feature.
Glad this info helped you complete the conversion. We'll take your suggestion for checking database space in advance of the upgrade under consideration for a future release--thanks for that.

I'll go ahead and close out this ticket.