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]

Reply via email to