Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.2.27, 10.1.42, 10.3.18, 10.4.8
-
None
Description
As part of the fix for MDEV-18778, some code was added, which would make mysql_tzinfo_to_sql execute some ALTER TABLE statements if wsrep_on was set. Unfortunately, these checks do *not* work, so the ALTER TABLE statements are executed even if wsrep_on is not set.
Here's the relevant commit:
https://github.com/mariadb/server/commit/fa74088838c12210d782aa6c69faa5acebc1d3bc
It is easy to show that this does not work.
First, we can see that wsrep_on is not set:
$ sudo mysql --execute="SELECT @@global.wsrep_on"
|
+-------------------+
|
| @@global.wsrep_on |
|
+-------------------+
|
| 0 |
|
+-------------------+
|
Let's get the server's binary log position:
$ sudo mysql --execute="SHOW MASTER STATUS"
|
+--------------------+----------+--------------+------------------+
|
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
|
+--------------------+----------+--------------+------------------+
|
| mariadb-bin.000065 | 6042708 | | |
|
+--------------------+----------+--------------+------------------+
|
And then let's run mysql_tzinfo_to_sql:
$ mysql_tzinfo_to_sql /usr/share/zoneinfo | sudo mysql mysql
|
Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
|
Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
|
If we check the binary log, then we can confirm that the ALTER TABLE statements are executed:
$ sudo mysqlbinlog --verbose --start-position=6042708 /var/lib/mysql/mariadb-bin.000065 | grep "ALTER"
|
ALTER TABLE time_zone ENGINE=InnoDB
|
ALTER TABLE time_zone_name ENGINE=InnoDB
|
ALTER TABLE time_zone_transition ENGINE=InnoDB
|
ALTER TABLE time_zone_transition_type ENGINE=InnoDB
|
ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time
|
ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id
|
ALTER TABLE time_zone ENGINE=MyISAM
|
ALTER TABLE time_zone_name ENGINE=MyISAM
|
ALTER TABLE time_zone_transition ENGINE=MyISAM
|
ALTER TABLE time_zone_transition_type ENGINE=MyISAM
|
This should obviously not happen.
The Galera checks should be fixed.
Attachments
Issue Links
- is caused by
-
MDEV-18778 mysql_tzinfo_to_sql does not work correctly in MariaDB Galera
- Closed
- relates to
-
MDEV-21208 mysql_tzinfo_to_sql does not work in strict mode
- Closed
-
MDEV-23326 aria TRANSACTIONAL=1 significantly slow on timezone intialisation (was: time zone initialision significantly slower in 10.4 compared to 10.3 (myisam))
- Closed
- links to