Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
10.3(EOL), 10.4(EOL)
-
None
Description
I noticed that upgrade from 10.2 -> 10.3 doesn't remove semi-sync reference from mysql.plugin table. As per documentation:
In MariaDB 10.3.3 and later, the Semisynchronous Replication feature is built into MariaDB server and is no longer provided by a plugin. This means that installing the plugin is not supported on those versions. In MariaDB 10.3.3 and later, you can skip right to Enabling Semisynchronous Replication.
So, when Semisynchronous is already part of server then should be removed when upgrade is done to 10.3. It should be handled part of server or mysql_upgrade.
Welcome to the MariaDB monitor. Commands end with ; or \g.
|
Your MariaDB connection id is 9
|
Server version: 10.2.31-MariaDB-log MariaDB Server
|
|
MariaDB [(none)]> INSTALL SONAME 'semisync_master';
|
Query OK, 0 rows affected (0.00 sec)
|
|
MariaDB [(none)]> INSTALL SONAME 'semisync_slave';
|
Query OK, 0 rows affected (0.00 sec)
|
|
MariaDB [(none)]> SELECT * FROM mysql.plugin;
|
+----------------------+--------------------+
|
| name | dl |
|
+----------------------+--------------------+
|
| rpl_semi_sync_master | semisync_master.so |
|
| rpl_semi_sync_slave | semisync_slave.so |
|
+----------------------+--------------------+
|
From here, I tried to upgrade from 10.2 to 10.3
# rpm -qa | egrep -i "mysql|mariadb"
|
MariaDB-common-10.3.22-1.el7.centos.x86_64
|
MariaDB-backup-10.3.22-1.el7.centos.x86_64
|
MariaDB-client-10.3.22-1.el7.centos.x86_64
|
MariaDB-server-10.3.22-1.el7.centos.x86_64
|
MariaDB-compat-10.2.31-1.el7.centos.x86_64
|
MariaDB-shared-10.3.22-1.el7.centos.x86_64
|
|
Welcome to the MariaDB monitor. Commands end with ; or \g.
|
Your MariaDB connection id is 10
|
Server version: 10.3.22-MariaDB-log MariaDB Server
|
|
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
|
|
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
|
|
MariaDB [(none)]> SELECT * FROM mysql.plugin;
|
+-----------------------+--------------------------+
|
| name | dl |
|
+-----------------------+--------------------------+
|
| rpl_semi_sync_master | semisync_master.so |
|
| rpl_semi_sync_slave | semisync_slave.so |
|
+-----------------------+--------------------------+
|
As you can see reference to semi_sync plugins still present in mysql.plugin table after upgrade.
# mysql_upgrade
|
Phase 1/7: Checking and upgrading mysql database
|
Processing databases
|
mysql
|
mysql.column_stats OK
|
mysql.columns_priv OK
|
mysql.db OK
|
mysql.event OK
|
mysql.func OK
|
mysql.gtid_slave_pos OK
|
mysql.help_category OK
|
mysql.help_keyword OK
|
mysql.help_relation OK
|
mysql.help_topic OK
|
mysql.host OK
|
mysql.index_stats OK
|
mysql.innodb_index_stats OK
|
mysql.innodb_table_stats OK
|
mysql.plugin OK
|
mysql.proc OK
|
mysql.procs_priv OK
|
mysql.proxies_priv OK
|
mysql.roles_mapping OK
|
mysql.servers OK
|
mysql.table_stats OK
|
mysql.tables_priv OK
|
mysql.time_zone OK
|
mysql.time_zone_leap_second OK
|
mysql.time_zone_name OK
|
mysql.time_zone_transition OK
|
mysql.time_zone_transition_type OK
|
mysql.user OK
|
Phase 2/7: Installing used storage engines... Skipped
|
Phase 3/7: Fixing views
|
Phase 4/7: Running 'mysql_fix_privilege_tables'
|
Phase 5/7: Fixing table and database names
|
Phase 6/7: Checking and upgrading tables
|
Processing databases
|
information_schema
|
performance_schema
|
test
|
Phase 7/7: Running 'FLUSH PRIVILEGES'
|
OK
|
MariaDB [(none)]> SELECT * FROM mysql.plugin;
|
+-----------------------+--------------------------+
|
| name | dl |
|
+-----------------------+--------------------------+
|
| rpl_semi_sync_master | semisync_master.so |
|
| rpl_semi_sync_slave | semisync_slave.so |
|
+-----------------------+--------------------------+
|
Attachments
Issue Links
- relates to
-
MDEV-22085 mysql_upgrade should check for unavailable plugin libraries
- Closed