[MDEV-4717] Inproved redo log management Created: 2013-06-26  Updated: 2017-05-10

Status: Open
Project: MariaDB Server
Component/s: None
Fix Version/s: None

Type: Task Priority: Minor
Reporter: VAROQUI Stephane Assignee: Unassigned
Resolution: Unresolved Votes: 3
Labels: None


 Description   

Solution 1

innodb_redo_log_file_size_extend_on_startup = 0 | 1 | 2: 0 default

1 auto_rezise
Instead of Shutdown in case of wrong redo log size rename ib_logfiles to ib_logfiles.timestamp.old

2 ignore_configuration

Ignore configuration parameter and start the server with the size of the existing redo log file

A sub task could be to check if the redo log are purged before creating them if not start innodb on the old redolog and start to apply change before creating the new redo logs

Solution 2
innodb_redo_log_file_max_size
innodb_redo_log_file_auto_extend

Like in MSSQL or Sybase the redo logs are not fixed in size and can grow to adapt for big transactions, this task would enable this as we monitor the redolog pointer we extend the redo log file size



 Comments   
Comment by VAROQUI Stephane [ 2013-06-26 ]

Without this task many tools stop working for MariaDB 10 as redo logs are created with mysql_install_db as innodb is now part of the system tables .

To be succefull mysql_install_db need to be called with the final configuration file , this was mandary as of MariaDB 5.5

Comment by Vladislav Vaintroub [ 2013-06-26 ]

Why do we "need" to make any of system tables transactional/innodb? Also, after successfull mysql_install_db log files can be deleted. They are recreated from scratch on the next start

Comment by VAROQUI Stephane [ 2013-06-26 ]

mysql> select table_name, ENGINE from information_schema.tables where engine='innodb';
+--------------------+--------+
| table_name         | ENGINE |
+--------------------+--------+
| innodb_index_stats | InnoDB |
| innodb_table_stats | InnoDB |
| rpl_slave_state    | InnoDB |
+--------------------+--------+
3 rows in set (0,02 sec)

Comment by VAROQUI Stephane [ 2013-06-26 ]

here is the result of

low_level_make_sandbox --force --no_show -c server-id=5054 --db_user=skysql --db_password=skyvodka -d db-78b9ef7a --sandbox_port=5054 --upper_directory=/var/lib/skysql --install_version=5.5 --no_ver_after_name --basedir=/usr/local/skysql/mariadb -v -m /usr/local/skysql/ncc/etc/maria.template

This call
/usr/local/skysql/mariadb/scripts/mysql_install_db --no-defaults --user=root --basedir=/usr/local/skysql/mariadb --datadir=/var/lib/skysql/db-78b9ef7a/data

This create

InnoDB: Setting log file ./ib_logfile0 size to 5 MB

then MariaDB 10 wan't start

It yet to decide if it's a bug of sandbox or a mariadb regression

Comment by Vladislav Vaintroub [ 2013-06-26 ]

why does not it start? is there a specific log file size in my.cnf?

Comment by VAROQUI Stephane [ 2013-06-26 ]

Exact the log file is set in the template file

Comment by VAROQUI Stephane [ 2013-06-26 ]

Created sandbox patch and bug @
https://bugs.launchpad.net/mysql-sandbox/+bug/1195000

Comment by Marko Mäkelä [ 2017-05-10 ]

For what it is worth, already when this ticket was filed, I had implemented WL#6494 in MySQL 5.6 which allows InnoDB to resize the redo log at startup. No configuration parameter was added; instead, we automatically resize to the user-specified size. This was necessary so that MySQL 5.6 was able to increase the default redo log size without causing trouble for upgrades. This code is present starting with MariaDB Server 10.0.

Comment by VAROQUI Stephane [ 2017-05-10 ]

There was more on this task , the idea would be to get innodb_log_file_size_max and to auto extend, shrink it adaptively based on trx requirements

Generated at Thu Feb 08 06:58:36 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.