Bug #106323 | relay_log_space_limit VALID_RANGE improperly defined | ||
---|---|---|---|
Submitted: | 28 Jan 2022 9:48 | Modified: | 18 Oct 2022 0:48 |
Reporter: | Przemyslaw Malkowski | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 8.0, 5.7 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[28 Jan 2022 9:48]
Przemyslaw Malkowski
[28 Jan 2022 10:39]
MySQL Verification Team
Hello Przemyslaw, Thank you for the report. Thanks, Umesh
[1 Jul 2022 18:17]
Jon Stephens
I think this is a Server bug. Consider the following from sys_vars.cc: static Sys_var_ulonglong Sys_relay_log_space_limit( "relay_log_space_limit", "Maximum space to use for all relay logs", READ_ONLY GLOBAL_VAR(relay_log_space_limit), CMD_LINE(REQUIRED_ARG), VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1)); The relay log space limit is actually defined as ulonglong (maximum is 2^64 - 1 = 18446744073709551615) but the upper limit set for its valid range is only ULONG_MAX (= 2^32 - 1 = 4294967295). For documentation purposes, we use what's specified by VALID_RANGE. Possibly not easily apparent since relay_log_space_limit is R/O and only settable via startup option or file. Does setting it > 4G cause any warnings to be logged? Changing category to Server:Replication for assignment to a developer. Suggest the following change: - VALID_RANGE(0, ULONG_MAX), DEFAULT(0), BLOCK_SIZE(1)); + VALID_RANGE(0, ULLONG_MAX), DEFAULT(0), BLOCK_SIZE(1)); which should take care of the inconsistency. Thanks! jon.
[18 Oct 2022 0:48]
Jon Stephens
Documented fix as follows in the MySQL 5.7.41 and 8.0.32 changelogs: The relay_log_space_limit system variable is a 64-bit value, but its valid maximum was specified internally as that of a 32-bit value. Closed.