Dear MariaDB Developers, We've been working with the new buffer pool allocation options in MariaDB releases (10.11.12/13/14,11.4.6/7/8, and 11.8.2/3), and we've encountered several concerning issues that we believe need immediate attention.
Could we revisit the solution and make proper plan to improve this feature? Related Jiras: https://jira.mariadb.org/browse/MDEV-37557 , https://jira.mariadb.org/browse/MDEV-37176 Summarizing the main issues: 1. The default value of innodb_buffer_pool_size_max equals innodb_buffer_pool_size, and prevents users from increasing buffer pool size dynamically. This appears to be a significant regression. * Another regression is that the server will fail to start if a user upgrades to the new versions with innodb_buffer_pool_size originally set to a value higher than available memory size. 1. During initialization and resize operations, the engine uses fundamentally different approaches for memory allocation: * During initialization, engine reserves a contiguous virtual memory address range without immediately committing physical memory. * When setting the buffer pool size dynamically, the engine attempts to commit additional memory from the previously reserved space. This immediately attempts to allocate additional physical memory 1. During buffer pool resizing operations, the engine can crash when memory conditions aren't ideal due to the above, and behavior differs across different operating systems. (Engine Crashes During Buffer Pool Resizing in MDEV-37557) 2. There is a documentation gap. The new parameters (innodb_buffer_pool_size_max, innodb_buffer_pool_size_auto_min, innodb_log_checkpoint_now) were introduced with barely any explanation. Users have had no way to understand these behaviors due to missing documentation. A Jira ticket was created in July for documentation and is still in an open state (https://jira.mariadb.org/browse/MDEV-37176). We noticed some documentation was recently added in https://mariadb.com/docs/server/server-usage/storage-engines/innodb/innodb-system-variables, but some does not match the behavior. * For example, the innodb_buffer_pool_size_max default value of 134217728 (128MiB) appears misleading. The description "Maximum innodb_buffer_pool_size" doesn't explain much. Looking forward to your thoughts on this. Best regards, Hugo
_______________________________________________ developers mailing list -- [email protected] To unsubscribe send an email to [email protected]
