mysql_install_db fails to recognize some options

Bug #1298361 reported by Evgeny Makarov
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
MySQL Server
Unknown
Unknown
Percona Server moved to https://jira.percona.com/projects/PS
Status tracked in 5.7
5.5
Triaged
Medium
Unassigned
5.6
Triaged
Medium
Unassigned
5.7
Triaged
Medium
Unassigned

Bug Description

I'm using percona server 5.6.16 on debian.
When updating the server to new version mysql_install_db is running as a part of postinstall script. It reads all the options from my.cnf but doesn't recognize options related to semisync plugin:

[ERROR] /usr/sbin/mysqld: unknown variable 'rpl_semi_sync_slave_enabled=ON'

Looks like it doesn't load any optional plugins that's why it doesn't recognize the options.

Tags: pkg upstream
Revision history for this message
Valerii Kravchuk (valerii-kravchuk) wrote :

Please, send your my.cnf file content.

What exact version, 5.6.16.*, are you installing?

Changed in percona-server:
status: New → Incomplete
Revision history for this message
Evgeny Makarov (just3fix) wrote :

It was 5.6.15, then upgraded to 5.6.16-64.0, then 5.6.16-64.1 and finally 5.6.16-64.2. On every upgrade mysql_install_db failed unless we temporary comment out rpl_semi_sync_* options. Semisync plugins are installed of course.
The cnf file with slave settings is:

[mysqld]
server-id = 2
read_only = ON
skip-slave-start = OFF
relay-log-recovery = ON # enable automatic relay log recovery immediately following server startup

### SEMISYNCHRONOUS REPLICATION

rpl_semi_sync_slave_enabled = ON # Enabled on slave

Changed in percona-server:
status: Incomplete → New
Revision history for this message
Valerii Kravchuk (valerii-kravchuk) wrote :

Exactly the same problem happens with upstream MySQL 5.6:

[openxs@chief 5.6]$ scripts/mysql_install_db --no-defaults --rpl_semi_sync_slave_enabled=ON
Installing MySQL system tables...2014-04-01 13:21:21 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2014-04-01 13:21:22 2628 [Warning] Buffered warning: Changed limits: max_open_files: 1024 (requested 5000)

2014-04-01 13:21:22 2628 [Warning] Buffered warning: Changed limits: table_cache: 431 (requested 2000)

2014-04-01 13:21:22 2628 [Note] InnoDB: The InnoDB memory heap is disabled
2014-04-01 13:21:22 2628 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2014-04-01 13:21:22 2628 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-04-01 13:21:22 2628 [Note] InnoDB: Using Linux native AIO
2014-04-01 13:21:22 2628 [Note] InnoDB: Not using CPU crc32 instructions
2014-04-01 13:21:22 2628 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2014-04-01 13:21:22 2628 [Note] InnoDB: Completed initialization of buffer pool
2014-04-01 13:21:22 2628 [Note] InnoDB: Highest supported file format is Barracuda.
2014-04-01 13:21:22 2628 [Note] InnoDB: 128 rollback segment(s) are active.
2014-04-01 13:21:22 2628 [Note] InnoDB: Waiting for purge to start
2014-04-01 13:21:22 2628 [Note] InnoDB: 5.6.14 started; log sequence number 9609891
2014-04-01 13:21:22 2628 [ERROR] ./bin/mysqld: unknown variable 'rpl_semi_sync_slave_enabled=ON'
2014-04-01 13:21:22 2628 [ERROR] Aborting
...

Do you want me to report upstream bug at http://bugs.mysql.com or do you prefer to this yourself?

Changed in percona-server:
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Percona Server because there has been no activity for 60 days.]

Changed in percona-server:
status: Incomplete → Expired
Changed in percona-server:
status: Expired → New
Revision history for this message
Nilnandan Joshi (nilnandan-joshi) wrote :

Hi,

It happens with 5.6.17 too.

2014-06-11 14:24:38 15000 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.17-65.0 started; log sequence number 44630777
2014-06-11 14:24:38 15000 [ERROR] /usr/sbin/mysqld: unknown variable 'rpl_semi_sync_slave_enabled=ON'
2014-06-11 14:24:38 15000 [ERROR] Aborting

But as per the documentation, "This variable is available only if the slave-side semisynchronous replication plugin is installed."
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_rpl_semi_sync_slave_enabled

Are you sure, semi-sync plugins are installed properly?

Revision history for this message
Nilnandan Joshi (nilnandan-joshi) wrote :
Download full text (4.0 KiB)

Confirmed with upstream version MySQL 5.6.19 too and make sure semi-sync plugin is properly installed. It seems a bug.

While running mysql_install_db, it fails to recognize rpl_semi_sync_slave_enabled option when semi sync plugin is already installed and we can able to set that variable from command line.

mysql> show global variables like 'rpl_semi_sync_slave%';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| rpl_semi_sync_slave_enabled | OFF |
| rpl_semi_sync_slave_trace_level | 32 |
+---------------------------------+-------+
2 rows in set (0.01 sec)

mysql> SET GLOBAL rpl_semi_sync_slave_enabled = 1;
Query OK, 0 rows affected (0.00 sec)

mysql> show global variables like 'rpl_semi_sync_slave%';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| rpl_semi_sync_slave_enabled | ON |
| rpl_semi_sync_slave_trace_level | 32 |
+---------------------------------+-------+
2 rows in set (0.01 sec)

mysql>

How to repeat:

[root@centos65 nilnandan]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.19 MySQL Community Server (GPL)

...

mysql>
mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
Query OK, 0 rows affected (0.01 sec)

mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
Query OK, 0 rows affected (0.01 sec)

mysql> show plugins;
+----------------------------+----------+--------------------+--------------------+---------+
| Name | Status | Type | Library | License |
+----------------------------+----------+--------------------+--------------------+---------+
| binlog | ACTIVE | STORAGE ENGINE | NULL | GPL |

...
| partition | ACTIVE | STORAGE ENGINE | NULL | GPL |
| rpl_semi_sync_master | ACTIVE | REPLICATION | semisync_master.so | GPL |
| rpl_semi_sync_slave | ACTIVE | REPLICATION | semisync_slave.so | GPL |
+----------------------------+----------+--------------------+--------------------+---------+
44 rows in set (0.01 sec)

[root@centos65 nilnandan]# mysql_install_db --no-defaults --rpl_semi_sync_slave_enabled=ON
Installing MySQL system tables...2014-06-11 15:26:52 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2014-06-11 15:26:52 2685 [Note] InnoDB: Using atomics to ref count buffer pool pages
2014-06-11 15:26:52 2685 [Note] InnoDB: The InnoDB memory heap is disabled
2014-06-11 15:26:52 2685 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2014-06-11 15:26:52 2685 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-06-11 15:26:52 2685 [Note] InnoDB: Using Linux native AIO
2014-06-11 15:26:52 2685 [Note] InnoDB: Not using CPU crc32 instructions
2014-06-11 15:26:52 2685 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2014-06-11 15:26:52 2685 [N...

Read more...

tags: added: pkg upstream
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-1491

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.