Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.8.0, 10.7.1
-
None
Description
Observation on
|
origin/preview-10.8-MDEV-14425-innodb f6b1e6fbae27842f78b28ad8ceb898e6008841d1 2022-01-07T18:59:05+02:00
|
One RQG test starts the server with innodb_page_size 64K and bufferpool_size 256M,
|
performs a bufferpool resizing down to 8M (message in server error log) and fails during or short after that with
|
[ERROR] [FATAL] InnoDB: innodb_fatal_semaphore_wait_threshold was exceeded for dict_sys.latch.
|
|
Per my experiences with server startup on official versions of MariaDB
|
InnoDB denies to work in case the page_size is 64K and the bufferpool_size
|
is < 24M because of whatever reasons.
|
Nevertheless InnoDB does not deny a resizing of the bufferpool to 8M at runtime.
|
|
The MTR based test reports on
|
- origin/10.7 2022-01-06
|
SET GLOBAL innodb_buffer_pool_size = 8388608;
|
Warnings:
|
Warning 1210 innodb_buffer_pool_size must be at least innodb_buffer_pool_chunk_size=25165824
|
- origin/10.8 897d8c57b68858a58eea6cda4d971c3a94f6cc4a 2021-11-29
|
a warning like above
|
- origin/10.8 commit baace572dc1d2ab35145556e9db231dca8c18147 (HEAD)
|
MDEV-25342: autosize innodb_buffer_pool_chunk_size
|
mysqltest: At line 11: query 'SET GLOBAL innodb_buffer_pool_size = @innodb_buffer_pool_size_save' failed: ER_WRONG_ARGUMENTS (1210): Another buffer pool resize is already in progress.
|
which is caused by the ongoing asynchronous buffer pool resizing to 8M issued earlier.
|
The server error log shows
|
2022-01-10 17:59:45 4 [Note] InnoDB: Requested to resize buffer pool. (new size: 8388608 bytes)
|
2022-01-10 17:59:45 0 [Note] InnoDB: Resizing buffer pool from 25165824 to 8388608 (unit=1048576).
|
|
Attachments
Issue Links
- relates to
-
MDEV-27467 innodb to enfore the minimum innodb_buffer_pool_size in SET (resize) the same as startup
-
- Closed
-
-
MDEV-24278 InnoDB page cleaner keeps waking up on idle server
-
- Closed
-
-
MDEV-25342 autosize innodb_buffer_pool_chunk_size
-
- Closed
-
-
MDEV-26784 [Warning] InnoDB: Difficult to find free blocks in the buffer pool
-
- Closed
-
-
MDEV-35889 set information_schema.system_variables NUMERIC_MIN_VALUE for innodb_buffer_pool system variable based on innodb_page_size
-
- In Review
-
Activity
Field | Original Value | New Value |
---|---|---|
Attachment | MDEV-27461.txt [ 61594 ] |
Description |
{noformat} Observation on origin/preview-10.8- One RQG test starting the server with innodb_page_size 64K and bufferpool_size 256M performed a bufferpool resizing down to 8M and failed during or short after that with [ERROR] [FATAL] InnoDB: innodb_fatal_semaphore_wait_threshold was exceeded for dict_sys.latch. Per my experiences with server startup on official versions of MariaDB InnoDB denies to work in case the page_size is 64K and the bufferpool_size is < 24M because of whatever reasons. Nevertheless InnoDB does not deny a resizing of the bufferpool to 8M at runtime. The corresponding test runs on MariaDB versions 10.5 till 10.8 too. I will try to develop some MTR based tests revealing that such a drastic resizing is possible. {noformat} |
{noformat}
Observation on origin/preview-10.8- One RQG test starting the server with innodb_page_size 64K and bufferpool_size 256M performed a bufferpool resizing down to 8M and failed during or short after that with [ERROR] [FATAL] InnoDB: innodb_fatal_semaphore_wait_threshold was exceeded for dict_sys.latch. Per my experiences with server startup on official versions of MariaDB InnoDB denies to work in case the page_size is 64K and the bufferpool_size is < 24M because of whatever reasons. Nevertheless InnoDB does not deny a resizing of the bufferpool to 8M at runtime. The corresponding test runs on MariaDB versions 10.5 till 10.8 too. I will try to develop some MTR based tests revealing that such a drastic resizing is possible. The MTR based test on 10.7 reports SET GLOBAL innodb_buffer_pool_size = 8388608; Warnings: Warning 1210 innodb_buffer_pool_size must be at least innodb_buffer_pool_chunk_size=25165824 {noformat} |
Description |
{noformat}
Observation on origin/preview-10.8- One RQG test starting the server with innodb_page_size 64K and bufferpool_size 256M performed a bufferpool resizing down to 8M and failed during or short after that with [ERROR] [FATAL] InnoDB: innodb_fatal_semaphore_wait_threshold was exceeded for dict_sys.latch. Per my experiences with server startup on official versions of MariaDB InnoDB denies to work in case the page_size is 64K and the bufferpool_size is < 24M because of whatever reasons. Nevertheless InnoDB does not deny a resizing of the bufferpool to 8M at runtime. The corresponding test runs on MariaDB versions 10.5 till 10.8 too. I will try to develop some MTR based tests revealing that such a drastic resizing is possible. The MTR based test on 10.7 reports SET GLOBAL innodb_buffer_pool_size = 8388608; Warnings: Warning 1210 innodb_buffer_pool_size must be at least innodb_buffer_pool_chunk_size=25165824 {noformat} |
{noformat}
Observation on origin/preview-10.8- One RQG test starting the server with innodb_page_size 64K and bufferpool_size 256M performed a bufferpool resizing down to 8M and failed during or short after that with [ERROR] [FATAL] InnoDB: innodb_fatal_semaphore_wait_threshold was exceeded for dict_sys.latch. Per my experiences with server startup on official versions of MariaDB InnoDB denies to work in case the page_size is 64K and the bufferpool_size is < 24M because of whatever reasons. Nevertheless InnoDB does not deny a resizing of the bufferpool to 8M at runtime. The corresponding test runs on MariaDB versions 10.5 till 10.8 too. I will try to develop some MTR based tests revealing that such a drastic resizing is possible. The MTR based test reports on - origin/10.7 2022-01-06 SET GLOBAL innodb_buffer_pool_size = 8388608; Warnings: Warning 1210 innodb_buffer_pool_size must be at least innodb_buffer_pool_chunk_size=25165824 - origin/10.8 897d8c57b68858a58eea6cda4d971c3a94f6cc4a 2021-11-29 a warning like above {noformat} |
Description |
{noformat}
Observation on origin/preview-10.8- One RQG test starting the server with innodb_page_size 64K and bufferpool_size 256M performed a bufferpool resizing down to 8M and failed during or short after that with [ERROR] [FATAL] InnoDB: innodb_fatal_semaphore_wait_threshold was exceeded for dict_sys.latch. Per my experiences with server startup on official versions of MariaDB InnoDB denies to work in case the page_size is 64K and the bufferpool_size is < 24M because of whatever reasons. Nevertheless InnoDB does not deny a resizing of the bufferpool to 8M at runtime. The corresponding test runs on MariaDB versions 10.5 till 10.8 too. I will try to develop some MTR based tests revealing that such a drastic resizing is possible. The MTR based test reports on - origin/10.7 2022-01-06 SET GLOBAL innodb_buffer_pool_size = 8388608; Warnings: Warning 1210 innodb_buffer_pool_size must be at least innodb_buffer_pool_chunk_size=25165824 - origin/10.8 897d8c57b68858a58eea6cda4d971c3a94f6cc4a 2021-11-29 a warning like above {noformat} |
{noformat}
Observation on origin/preview-10.8- One RQG test starting the server with innodb_page_size 64K and bufferpool_size 256M performed a bufferpool resizing down to 8M (message in server error log) and failed during or short after that with [ERROR] [FATAL] InnoDB: innodb_fatal_semaphore_wait_threshold was exceeded for dict_sys.latch. Per my experiences with server startup on official versions of MariaDB InnoDB denies to work in case the page_size is 64K and the bufferpool_size is < 24M because of whatever reasons. Nevertheless InnoDB does not deny a resizing of the bufferpool to 8M at runtime. I will try to develop some MTR based tests revealing that such a drastic resizing is possible. The MTR based test reports on - origin/10.7 2022-01-06 SET GLOBAL innodb_buffer_pool_size = 8388608; Warnings: Warning 1210 innodb_buffer_pool_size must be at least innodb_buffer_pool_chunk_size=25165824 - origin/10.8 897d8c57b68858a58eea6cda4d971c3a94f6cc4a 2021-11-29 a warning like above {noformat} |
Description |
{noformat}
Observation on origin/preview-10.8- One RQG test starting the server with innodb_page_size 64K and bufferpool_size 256M performed a bufferpool resizing down to 8M (message in server error log) and failed during or short after that with [ERROR] [FATAL] InnoDB: innodb_fatal_semaphore_wait_threshold was exceeded for dict_sys.latch. Per my experiences with server startup on official versions of MariaDB InnoDB denies to work in case the page_size is 64K and the bufferpool_size is < 24M because of whatever reasons. Nevertheless InnoDB does not deny a resizing of the bufferpool to 8M at runtime. I will try to develop some MTR based tests revealing that such a drastic resizing is possible. The MTR based test reports on - origin/10.7 2022-01-06 SET GLOBAL innodb_buffer_pool_size = 8388608; Warnings: Warning 1210 innodb_buffer_pool_size must be at least innodb_buffer_pool_chunk_size=25165824 - origin/10.8 897d8c57b68858a58eea6cda4d971c3a94f6cc4a 2021-11-29 a warning like above {noformat} |
{noformat}
Observation on origin/preview-10.8- One RQG test starts the server with innodb_page_size 64K and bufferpool_size 256M, performs a bufferpool resizing down to 8M (message in server error log) and fails during or short after that with [ERROR] [FATAL] InnoDB: innodb_fatal_semaphore_wait_threshold was exceeded for dict_sys.latch. Per my experiences with server startup on official versions of MariaDB InnoDB denies to work in case the page_size is 64K and the bufferpool_size is < 24M because of whatever reasons. Nevertheless InnoDB does not deny a resizing of the bufferpool to 8M at runtime. I will try to develop some MTR based tests revealing that such a drastic resizing is possible. The MTR based test reports on - origin/10.7 2022-01-06 SET GLOBAL innodb_buffer_pool_size = 8388608; Warnings: Warning 1210 innodb_buffer_pool_size must be at least innodb_buffer_pool_chunk_size=25165824 - origin/10.8 897d8c57b68858a58eea6cda4d971c3a94f6cc4a 2021-11-29 a warning like above {noformat} |
Fix Version/s | 10.8 [ 26121 ] | |
Affects Version/s | 10.8.0 [ 26800 ] |
Description |
{noformat}
Observation on origin/preview-10.8- One RQG test starts the server with innodb_page_size 64K and bufferpool_size 256M, performs a bufferpool resizing down to 8M (message in server error log) and fails during or short after that with [ERROR] [FATAL] InnoDB: innodb_fatal_semaphore_wait_threshold was exceeded for dict_sys.latch. Per my experiences with server startup on official versions of MariaDB InnoDB denies to work in case the page_size is 64K and the bufferpool_size is < 24M because of whatever reasons. Nevertheless InnoDB does not deny a resizing of the bufferpool to 8M at runtime. I will try to develop some MTR based tests revealing that such a drastic resizing is possible. The MTR based test reports on - origin/10.7 2022-01-06 SET GLOBAL innodb_buffer_pool_size = 8388608; Warnings: Warning 1210 innodb_buffer_pool_size must be at least innodb_buffer_pool_chunk_size=25165824 - origin/10.8 897d8c57b68858a58eea6cda4d971c3a94f6cc4a 2021-11-29 a warning like above {noformat} |
{noformat}
Observation on origin/preview-10.8- One RQG test starts the server with innodb_page_size 64K and bufferpool_size 256M, performs a bufferpool resizing down to 8M (message in server error log) and fails during or short after that with [ERROR] [FATAL] InnoDB: innodb_fatal_semaphore_wait_threshold was exceeded for dict_sys.latch. Per my experiences with server startup on official versions of MariaDB InnoDB denies to work in case the page_size is 64K and the bufferpool_size is < 24M because of whatever reasons. Nevertheless InnoDB does not deny a resizing of the bufferpool to 8M at runtime. The MTR based test reports on - origin/10.7 2022-01-06 SET GLOBAL innodb_buffer_pool_size = 8388608; Warnings: Warning 1210 innodb_buffer_pool_size must be at least innodb_buffer_pool_chunk_size=25165824 - origin/10.8 897d8c57b68858a58eea6cda4d971c3a94f6cc4a 2021-11-29 a warning like above - origin/10.8 commit baace572dc1d2ab35145556e9db231dca8c18147 (HEAD) mysqltest: At line 11: query 'SET GLOBAL innodb_buffer_pool_size = @innodb_buffer_pool_size_save' failed: ER_WRONG_ARGUMENTS (1210): Another buffer pool resize is already in progress. which is caused by the ongoing asynchronous buffer pool resizing to 8M issued earlier. The server error log shows 2022-01-10 17:59:45 4 [Note] InnoDB: Requested to resize buffer pool. (new size: 8388608 bytes) 2022-01-10 17:59:45 0 [Note] InnoDB: Resizing buffer pool from 25165824 to 8388608 (unit=1048576). {noformat} |
Attachment | BPR.tgz [ 61600 ] | |
Fix Version/s | 10.8 [ 26121 ] | |
Affects Version/s | 10.8.0 [ 26800 ] | |
Assignee | Matthias Leich [ mleich ] | Daniel Black [ danblack ] |
Summary | Draft: InnoDB allows to resize the bufferpool down to 8M even if page_size is 64K | InnoDB allows to resize the bufferpool down to 8M even if page_size is 64K |
Affects Version/s | 10.7.1 [ 26120 ] | |
Affects Version/s | 10.2.41 [ 26032 ] |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.8 [ 26121 ] |
Link |
This issue relates to |
Link |
This issue blocks |
Link |
This issue relates to |
Link |
This issue relates to |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Fix Version/s | 10.7 [ 24805 ] | |
Fix Version/s | 10.8 [ 26121 ] |
Link |
This issue blocks |
Fix Version/s | 10.5.14 [ 26809 ] | |
Fix Version/s | 10.6.6 [ 26811 ] | |
Fix Version/s | 10.7.2 [ 26813 ] | |
Fix Version/s | 10.8.1 [ 26815 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Fix Version/s | 10.3 [ 22126 ] | |
Fix Version/s | 10.4 [ 22408 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Fix Version/s | 10.6 [ 24028 ] | |
Fix Version/s | 10.7 [ 24805 ] | |
Fix Version/s | 10.8 [ 26121 ] | |
Assignee | Daniel Black [ danblack ] | Marko Mäkelä [ marko ] |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Summary | InnoDB allows to resize the bufferpool down to 8M even if page_size is 64K | Server hangs when the bufferpool is shrunk to 8M and innodb_page_size=64K |
Affects Version/s | 10.2.41 [ 26032 ] |
Link |
This issue relates to |
Link | This issue relates to MDEV-35889 [ MDEV-35889 ] |
Thanks mleich!
Technically reproducible on 10.2 with explicit minimum (1M) innodb-buffer-pool-chunk-size,
MDEV-25342just pushed the default value for this lower.10.2.42-MariaDB-80d33261ea1a731f228b712b0e763740f87b89be
$ podman run -e MARIADB_ALLOW_EMPTY_ROOT_PASSWORD=1 quay.io/mariadb-foundation/mariadb-devel:10.2 --innodb-buffer-pool-size=256M --innodb-buffer-pool-chunk-size=1M --innodb-page-size=64k
...
Version: '10.2.42-MariaDB-1:10.2.42+maria~bionic' as '10.2.42-MariaDB-80d33261ea1a731f228b712b0e763740f87b89be' socket: '/var/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution
2022-01-11 5:25:55 140318846473984 [Note] InnoDB: Resizing buffer pool from 268435456 to 8388608 (unit=1048576).
2022-01-11 5:25:55 140319263479552 [Note] InnoDB:
2022-01-11 5:25:55 140318846473984 [Note] InnoDB: Disabling adaptive hash index.
2022-01-11 5:25:55 140318846473984 [Note] InnoDB: disabled adaptive hash index.
2022-01-11 5:25:55 140318846473984 [Note] InnoDB: Withdrawing blocks to be shrunken.
2022-01-11 5:25:55 140318846473984 [Note] InnoDB: buffer pool 0 : start to withdraw the last 3968 blocks.
2022-01-11 5:25:55 140318846473984 [Note] InnoDB: buffer pool 0 : withdrawing blocks. (3840/3968)
2022-01-11 5:25:55 140318846473984 [Note] InnoDB: buffer pool 0 : withdrew 3799 blocks from free list. Tried to relocate 41 pages (3840/3968).
2022-01-11 5:25:55 140318846473984 [Note] InnoDB: buffer pool 0 : withdrawing blocks. (3840/3968)
2022-01-11 5:25:55 140318846473984 [Note] InnoDB: buffer pool 0 : withdrew 0 blocks from free list. Tried to relocate 0 pages (3840/3968).
2022-01-11 5:25:55 140318846473984 [Note] InnoDB: buffer pool 0 : withdrawing blocks. (3840/3968)
2022-01-11 5:28:00 140318846473984 [Note] InnoDB: buffer pool 0 : withdrawing blocks. (3840/3968)
2022-01-11 5:28:00 140318846473984 [Note] InnoDB: buffer pool 0 : withdrew 0 blocks from free list. Tried to relocate 0 pages (3840/3968).
2022-01-11 5:28:00 140318846473984 [Note] InnoDB: buffer pool 0 : withdrawing blocks. (3840/3968)
2022-01-11 5:28:00 140318846473984 [Note] InnoDB: buffer pool 0 : withdrew 0 blocks from free list. Tried to relocate 0 pages (3840/3968).
2022-01-11 5:28:00 140318846473984 [Note] InnoDB: buffer pool 0 : will retry to withdraw later.
2022-01-11 5:28:00 140318846473984 [Note] InnoDB: Will retry to withdraw 10 seconds later.
I don't quite get the assertion in the timeout thread, but if the above endless loop is prevented it becomes resolved.