diff options
author | Monty <monty@mariadb.org> | 2021-02-01 18:46:34 +0200 |
---|---|---|
committer | Monty <monty@mariadb.org> | 2021-02-03 02:22:47 +0200 |
commit | eacefbca3596fa9cb853272265855d4efafd5f24 (patch) | |
tree | b1c3bce08841852163468bc4fff595ad2aba4907 /mysql-test/suite/sys_vars/r/sysvars_aria,32bit.rdiff | |
parent | b76e5c66107d75d0161d8f8ab3cf05fc360c831e (diff) | |
download | mariadb-git-eacefbca3596fa9cb853272265855d4efafd5f24.tar.gz |
MDEV-24750 Various corruptions caused by Aria subsystem...
The test case was setting aria_sort_buffer_size to MAX_ULONGLONG-1
which was not handled gracefully by my_malloc() or safemalloc().
Fixed by ensuring that the malloc functions returns 0 if the size
is too big.
I also added some protection to Aria repair:
- Limit sort_buffer_size to 16G (after that a bigger sort buffer will
not help that much anyway)
- Limit sort_buffer_size also according to sort file size. This will
help by not allocating less memory if someone sets the buffer size too
high.
Diffstat (limited to 'mysql-test/suite/sys_vars/r/sysvars_aria,32bit.rdiff')
-rw-r--r-- | mysql-test/suite/sys_vars/r/sysvars_aria,32bit.rdiff | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/mysql-test/suite/sys_vars/r/sysvars_aria,32bit.rdiff b/mysql-test/suite/sys_vars/r/sysvars_aria,32bit.rdiff index 17d04208aac..f0cbbd874ee 100644 --- a/mysql-test/suite/sys_vars/r/sysvars_aria,32bit.rdiff +++ b/mysql-test/suite/sys_vars/r/sysvars_aria,32bit.rdiff @@ -1,5 +1,5 @@ ---- sysvars_aria.result 2020-04-29 11:35:30.042243474 +0300 -+++ sysvars_aria,32bit.reject 2020-04-30 11:45:51.128740906 +0300 +--- suite/sys_vars/r/sysvars_aria.result 2021-02-02 02:58:55.686921205 +0200 ++++ suite/sys_vars/r/sysvars_aria,32bit.reject 2021-02-02 10:55:53.876791633 +0200 @@ -5,7 +5,7 @@ SESSION_VALUE NULL DEFAULT_VALUE 8192 @@ -98,8 +98,8 @@ VARIABLE_TYPE BIGINT UNSIGNED VARIABLE_COMMENT The buffer that is allocated when sorting the index when doing a REPAIR or when creating indexes with CREATE INDEX or ALTER TABLE. NUMERIC_MIN_VALUE 4096 --NUMERIC_MAX_VALUE 18446744073709551615 -+NUMERIC_MAX_VALUE 4294967295 +-NUMERIC_MAX_VALUE 9223372036854775807 ++NUMERIC_MAX_VALUE 2147483647 NUMERIC_BLOCK_SIZE 1 ENUM_VALUE_LIST NULL READ_ONLY NO |