mariadb/storage/innobase/buf
mariadb-DebarunBanerjee a8e35a1cc6 MDEV-36149 UBSAN in X is outside the range of representable values of type 'unsigned long' | page_cleaner_flush_pages_recommendation
Currently it is allowed to set innodb_io_capacity to very large value
up to unsigned 8 byte maximum value 18446744073709551615. While
calculating the number of pages to flush, we could sometime go beyond
innodb_io_capacity. Specifically, MDEV-24369 has introduced a logic
for aggressive flushing when dirty page percentage in buffer pool
exceeds innodb_max_dirty_pages_pct. So, when innodb_io_capacity is
set to very large value and dirty page percentage exceeds the
threshold, there is a multiplication overflow in Innodb page cleaner.

Fix: We should prevent setting io_capacity to unrealistic values and
define a practical limit to it. The patch introduces limits for
innodb_io_capacity_max and innodb_io_capacity to the maximum of 4 byte
unsigned integer i.e. 4294967295 (2^32-1). For 16k page size this limit
translates to 64 TiB/sec write IO speed which looks sufficient.

Reviewed by: Marko Mäkelä
2025-03-17 11:44:09 +05:30
..
buf0buddy.cc MDEV-35190 HASH_SEARCH duplicates effort before HASH_INSERT or HASH_DELETE 2024-11-21 08:59:02 +02:00
buf0buf.cc Merge branch '10.6' into 10.11 2025-01-10 13:14:42 +01:00
buf0checksum.cc Cleanup: Replace ut_crc32c(x,y) with my_crc32c(0,x,y) 2022-01-21 16:13:04 +02:00
buf0dblwr.cc Merge branch '10.6' into 10.11 2025-01-10 13:14:42 +01:00
buf0dump.cc Merge branch '10.6' into 10.11 2024-07-22 15:14:50 +02:00
buf0flu.cc MDEV-36149 UBSAN in X is outside the range of representable values of type 'unsigned long' | page_cleaner_flush_pages_recommendation 2025-03-17 11:44:09 +05:30
buf0lru.cc Merge branch '10.6' into 10.11 2024-10-29 15:24:38 +01:00
buf0rea.cc MDEV-35438 Annotate InnoDB I/O functions with noexcept 2025-01-09 07:43:24 +02:00