Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
12.2, 10.11.14
-
None
-
Can result in unexpected behaviour
Description
The CHANGE MASTER section (master_def) in sql_yacc.yy uses ulong_num for all integral fields.
This means all of them are affected.
- As recognized in master_retry_count_basic.test, ulong is notorious for having different sizes (and thus different upper limits) between LLP64 (Windows Visual C++ or MinGW) and LP64 (Most Unixes and Unix-likes).
- Only MASTER_RETRY_COUNT from
MDEV-25674is internally also a ulong.
It is therefore inconsistent between those platforms. - MASTER_LOG_POS has 64 bits on Windows, but ulong_num caps at 32 bits on LLP64 (Windows).
This can mean that much of MASTER_LOG_POS is not configurable on Windows. - MASTER_PORT, MASTER_CONNECT_RETRY, and Domain & Server IDs are supposed to be 32-bit.
As I reported on MDEV-36939, unexpected wraparounds can occur on LP64 systems (*nix) when 64 bits are stuffed into only 32 bits.
- Only MASTER_RETRY_COUNT from
- And last but not the least, not using bool for MASTER_SSL & MASTER_SSL_VERIFY_SERVER_CERT means they do not accept the keywords TRUE & FALSE.
Attachments
Issue Links
- blocks
-
MDEV-37530 Refactor Master & Relay Log info to iterable tuples
-
- Open
-
- includes
-
MDEV-36939 Int overflow with CHANGE MASTER TO master_connect_retry=long in LP64
-
- Open
-
- is part of
-
MDEV-35948 Test SHOW REPLICA STATUS with large/long result values
-
- Open
-
- relates to
-
MDEV-35879 Slave_heartbeat_period is imprecise
-
- Open
-
- split from
-
MDEV-25674 No SQL variable for master_retry_count setting
-
- Closed
-