On 19.06.2023 15:44, Simon Avery via discuss wrote:
My questions!
1. Am I right that this was a known bug in Mariadb and has been resolved with the .14 release?
Yes, we improved the purge thread to try harder to free UNDO records in MariaDB 10.6.14.
2. The .14 release notes mention “InnoDB does not free UNDO after the fix of MDEV-30671 (MDEV-31234)” – is the failure to free UNDO logs a likely cause for ibdata1 to grow, given that it stores the undo log?
Yes.
3. To recover this space, I will need to do a full mysqldump, wipe and reimport of the data, correct?
Unfortunately yes. You can avoid that in the future by creating separate UNDO table spaces. Put this in your my.cnf: innodb_undo_tablespaces = 3 see https://mariadb.com/kb/en/innodb-system-variables/#innodb_undo_tablespaces for a discussion of the value 3. This will create 3x 10MB table spaces for the UNDO logs. If those will grow again, you can shrink them: SET GLOBAL innodb_undo_log_truncate = ON but make sure to set it back to OFF afterwards and do it only in times of low database activity because it can have some impact on performance. HTH