This page has been moved, the new location is More Concurrent Transactions Available.

innodb_expand_undo_slots

This option is provided for servers that run out of undo slots. Use it if you find the following warning in the error log: “Warning: cannot find a free slot for an undo log”.

:!: We discourage its use unless you get this warning, because it breaks compatibility with other programs. Specifically, it makes the datafiles unusable for ibbackup or for a MySQL server that is not run with this option.

When you enable the option, the maximum number of undo slots is extended to 4072, instead of the default fixed value of 1024.

You can then check whether the expanded slots (1025-4072) are used by starting mysqld with innodb_extra_undoslots=OFF:

InnoDB: Error: innodb_extra_undoslots option is disabled, but it was enabled before.
InnoDB: The datafile is not normal for mysqld and disabled innodb_extra_undoslots.
InnoDB: Enable innodb_extra_undoslots if it was enabled before, and
InnoDB: ### don't use this datafile with other mysqld or ibbackup! ###
InnoDB: Cannot continue operation for the safety. Calling exit(1).
InnoDB: Warning: innodb_extra_undoslots option is disabled, but it was enabled before.
InnoDB: But extended undo slots seem not used, so continue operation.

Variables provided

innodb_extra_undoslots

TypeSystem and command-line variable
ScopeGlobal
DynamicNo
DefaultOFF

Expands the number of undo slots to 4072.