[MDEV-15678] Please make innodb_max_dirty_pages_pct dynamic to match upstream Created: 2018-03-26  Updated: 2020-11-02  Resolved: 2020-11-02

Status: Closed
Project: MariaDB Server
Component/s: Documentation, Storage Engine - InnoDB
Fix Version/s: N/A

Type: Task Priority: Major
Reporter: Simon Mudd Assignee: Ian Gilfillan
Resolution: Fixed Votes: 0
Labels: None


 Description   

Documentation for this variable https://mariadb.com/kb/en/library/xtradbinnodb-server-system-variables/#innodb_max_dirty_pages_pct shows that the setting is not dynamic.

The upstream setting for this variable has always been dynamic. See: https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_max_dirty_pages_pct

That is quite odd. Please consider making this setting dynamic too.

Reasoning:

  • you change your mind over the amount of dirty pages you want to hold - restarting the server is always inconvenient on a production system
  • you adjust the setting to a low value prior to shutting down a system as this keeps downtime (when you can't connect to the system) as low as possible. Having a MariaDB server take a long time to shutdown (as it's flushing dirty pages) and not being able to see what state it's in or how far it's progressing can be really frustrating.
  • if you set the value to 0 (or close to 0) then you know when it gets there that a shutdown will be fast. That's also handy.

Given upstream already has this functionality please keep compatibility. I can't see any benefit of this value being static.



 Comments   
Comment by Simon Mudd [ 2018-03-26 ]

Also it's odd this variable setting is static if the related one: innodb_max_dirty_pages_pct_lwm is dynamic.

Comment by Marko Mäkelä [ 2020-02-20 ]

I checked the source code in 10.1 and 10.2, and the parameter is not declared read-only. There also is an update callback function, just like in MySQL 5.6 and 5.7. Before we correct the documentation, I think that we must verify that the parameter has the desired effect.

Comment by Jacob Moorman (Inactive) [ 2020-02-20 ]

I checked the Enterprise Documentation, which represents the variable is dynamic as suggested by Marko: https://mariadb.com/docs/reference/es/system-variables/innodb_max_dirty_pages_pct/#es-system-variables-innodb-max-dirty-pages-pct

GeoffMontee Please test as directed by Marko and update the KB page cited by OP.

Generated at Thu Feb 08 08:23:12 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.