WL#7628: Remove innodb_use_sys_malloc & innodb_additional_mem_pool_size system variable in 5.7
Affects: Server-5.7
—
Status: Complete
The two settings, innodb_use_sys_malloc & innodb_additional_mem_pool_size, were deprecated in 5.6.2. Normally, the code behind this setting would be removed in version 5.8, but this removal has been pushed up to 5.7 because of problems in InnoDB 5.7 after some refactoring in which memory is allocated before the internal memory system has been initialized. When innodb_use_sys_malloc is ON (default), innodb_additional_memory_pool is not used. So both of these settings should be deleted at the same time.
This effort involves deleting and changing the following code, code files and test files. * Global setting innodb_use_sys_malloc * Test suite/sys_vars/innodb_use_sys_malloc_basic * Global setting innodb_additional_mem_pool_size * Test suite/sys_vars/innodb_additional_mem_pool_size_basic * The common memory pool and all the code that implements memory pools in mem0pool.cc, mem0pool.h, mem0pool.ic * Rename test innodb_use_sys_malloc to innodb_bug12699505 and delete the portion of this test that relates to the innodb_use_sys_malloc setting. * Change ut_malloc() so that it always attempts the malloc() 60 times in 60 seconds. Previously, it would try only one malloc() with innodb_use_sys_malloc=ON. If OFF, it used to do the 60 tries in 60 seconds using the common memory pool. * Change ut_realloc so that it always attempts the realloc() 60 times in 60 seconds. Previously, it would try only one realloc() with innodb_use_sys_malloc=ON. If OFF, it used call ut_malloc() for a new buffer and ut_free() for the old buffer.
revno: 7562 revision-id: kevin.lewis@oracle.com-20140226054226-vsjgcki616iog1hw parent: kevin.lewis@oracle.com-20140226044529-1vahfdjfixwp3q2h committer: kevin.lewis@oracle.com branch nick: mysql-trunk timestamp: Tue 2014-02-25 23:42:26 -0600 message: WL#7628 - Remove innodb_use_sys_malloc & innodb_additional_mem_pool_size system variables in 5.7 This effort involves deleting and changing the following code, code files and test files. * Global setting innodb_use_sys_malloc * Test suite/sys_vars/innodb_use_sys_malloc_basic * Global setting innodb_additional_mem_pool_size * Test suite/sys_vars/innodb_additional_mem_pool_size_basic * The common memory pool and all the code that implements memory pools in mem0pool.cc, mem0pool.h, mem0pool.ic * Rename test innodb_use_sys_malloc to innodb-large-prefix and delete the portion of this test that relates to the innodb_use_sys_malloc setting. * Change ut_malloc() so that it always attempts the malloc() 60 times in 60 seconds. Previously, it would try only one malloc() with innodb_use_sys_malloc=ON. If OFF, it used to do the 60 tries in 60 seconds using the common memory pool. * Change ut_realloc so that it always attempts the realloc() 60 times in 60 seconds. Previously, it would try only one realloc() with innodb_use_sys_malloc=ON. If OFF, it used call ut_malloc() for a new buffer and ut_free() for the old buffer. * Deleted metadata_pool_size from information_schema.innodb_metrics * Deleted all UNIV_MEM_DEBUG code. * Greatly simplified mem_heap_validate and mem_heap_check(). All other parts of mem0dbg are removed * Removed all code under MEM_PERIODIC_CHECK and all calls to mem_analyze_corruption(). * Changed some conditional calls to ib_logf(FATAL,...) to just an assert so that the system will stop all threads sooner after a memory corruption. Approved in rb#4512 by Marko
Copyright (c) 2000, 2024, Oracle Corporation and/or its affiliates. All rights reserved.