[MDEV-12472] InnoDB should accept XtraDB parameters, warning that they are ignored Created: 2017-04-07  Updated: 2020-08-10  Resolved: 2017-05-09

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Fix Version/s: 10.2.6

Type: Task Priority: Blocker
Reporter: Marko Mäkelä Assignee: Oleksandr Byelkin
Resolution: Fixed Votes: 0
Labels: 10.2-ga, portability, upgrade, xtradb

Issue Links:
Relates
relates to MDEV-13833 implement --innodb-track-changed-pages Open
relates to MDEV-23397 Remove deprecated InnoDB options in 10.6 Closed

 Description   

MariaDB Server 10.2 will not ship with Percona XtraDB at all, but only with Oracle InnoDB.
However, XtraDB was the built-in InnoDB implementation in MariaDB Server 10.0 and 10.1.
To ease upgrades, InnoDB in MariaDB Server 10.2 should accept the XtraDB options that were available in 10.1, and display warnings about them. Here is a list obtained with

diff -u <(sed -ne 's/^  MYSQL_SYSVAR(\(.*\)),/\1/p' storage/xtradb/handler/ha_innodb.cc|sort) <(sed -ne 's/^  MYSQL_SYSVAR(\(.*\)),/\1/p' storage/innobase/handler/ha_innodb.cc|sort)|grep '^-[a-z]'

-adaptive_hash_index_partitions
-additional_mem_pool_size
-api_bk_commit_interval
-api_disable_rowlock
-api_enable_binlog
-api_enable_mdl
-api_trx_level
-buffer_pool_populate
-cleaner_eviction_factor
-cleaner_flush_chunk_size
-cleaner_free_list_lwm
-cleaner_lru_chunk_size
-cleaner_lsn_age_factor
-cleaner_max_flush_time
-cleaner_max_lru_time
-corrupt_table_action
-empty_free_list_algorithm
-fake_changes
-file_io_threads
-foreground_preflush
-kill_idle_transaction
-locking_fake_changes
-log_arch_dir
-log_arch_expire_sec
-log_archive
-log_block_size
-log_checksum_algorithm
-max_bitmap_file_size
-max_changed_pages
-mirrored_log_groups
-priority_cleaner
-priority_io
-priority_master
-priority_purge
-sched_priority_cleaner
-sched_priority_io
-sched_priority_master
-sched_priority_purge
-show_locks_held
-show_verbose_locks
-stats_include_delete_marked
-track_changed_pages
-track_redo_log_now
-use_global_flush_log_at_trx_commit
-use_stacktrace
-use_sys_malloc

Some discretion could be used. The innodb_api* settings never did anything useful in MariaDB, and they were removed in MDEV-12050 along with the unused Memcached hooks.

innodb_additional_mem_pool_size and innodb_use_sys_malloc can be removed, because they were deprecated in Oracle MySQL 5.6 (thus, MariaDB 10.0 already) and removed in 5.7.

innodb_adaptive_hash_index_partitions was implemented in MySQL 5.7 as innodb_adaptive_hash_index_parts. We should have an alias for that.

The Percona setting innodb_log_checksum_algorithm (a choice of values) was replaced by the Boolean innodb_log_checksums (offering CRC-32C or none). We could map the value "none" to OFF and everything else to ON.

The remaining parameters look like Percona additions which we can choose to ignore (issuing a warning). Perhaps some features could be ported from Percona 5.7.



 Comments   
Comment by Jan Lindström (Inactive) [ 2017-05-05 ]

https://github.com/MariaDB/server/commit/b297b310f236117425b3de3992ad853d2ec52db5

Comment by Jan Lindström (Inactive) [ 2017-05-05 ]

bb-10.2-MDEV-12472 has system variable implementation and innodb_init hooks. Test case is missing.

Comment by Oleksandr Byelkin [ 2017-05-09 ]

stats_include_delete_marked looks like defined in innodb

Comment by Oleksandr Byelkin [ 2017-05-09 ]

commit c54111aec91e6b894cb8ebdf9827e792ecebc831
Author: Oleksandr Byelkin <sanja@mariadb.com>
Date: Mon May 8 22:03:28 2017 +0200

MDEV-12472: InnoDB should accept XtraDB parameters, warning that they are ignored

tests and fixes

commit b297b310f236117425b3de3992ad853d2ec52db5
Author: Jan Lindström <jan.lindstrom@mariadb.com>
Date: Thu May 4 09:12:00 2017 +0300

MDEV-12472: InnoDB should accept XtraDB parameters, warning that they are ignored

Added a new file ha_xtradb.h where XtraDB parameters are defined. This
file is included in two places to avoid too intrusive change to
ha_innodb.cc that would make future merges harder.

innodb_show_locks_held and innodb_show_verbose_locks should be
implemented (but on different commit).

Comment by Oleksandr Byelkin [ 2017-05-09 ]

github branch bb-10.2-MDEV-12472

Comment by Jan Lindström (Inactive) [ 2017-05-09 ]

Can you remove unnecessary use-sys-malloc parameter and see from bb that this compiles also on Windows and product build. ok to push after that.

Comment by Marko Mäkelä [ 2020-08-10 ]

For the record, these compatibility parameters were intentionally omitted from MariaDB Server 10.3 and later releases. If they had not been, they should have been removed from MariaDB Server 10.6 in MDEV-23397.

Generated at Thu Feb 08 07:57:59 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.