Bug #82385 Group Replication Plugin failing when plugin_load
Submitted: 30 Jul 2016 0:32 Modified: 31 Jul 2016 3:14
Reporter: Wagner Bianchi Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Group Replication Severity:S2 (Serious)
Version:MySQL 5.7.14 OS:Linux (CentOS 6.5)
Assigned to: CPU Architecture:Any
Tags: group_replication

[30 Jul 2016 0:32] Wagner Bianchi
Description:
I started a new cluster with the most recent release of MySQL 5.7, the MySQL 5.7.14. When I started the first server from the cluster with the below configuration, I started seeing that the plugin does not exists at @@plugin_dir location and then, I tried to start mysqld without Group Replication variables and install plugin with INSTALL PLUGIN syntax. Both frustrated. Not sure if I'm missing something here or it's really failing on something.

How to repeat:
1-) Install MySQL 5.7.14 from the YUM repository;

[root@box01 plugin]# rpm -qa | grep mysql
mysql-community-libs-5.7.14-1.el6.x86_64
mysql-community-libs-compat-5.7.14-1.el6.x86_64
mysql-community-server-5.7.14-1.el6.x86_64
mysql-community-release-el6-5.noarch
mysql-community-common-5.7.14-1.el6.x86_64
mysql-community-client-5.7.14-1.el6.x86_64

2-) Add the following configuration to the MySQL's configuration file:

[root@box01 plugin]# my_print_defaults mysqld
--user=mysql
--port=3306
--datadir=/var/lib/mysql
--socket=/var/lib/mysql/mysql.sock
--log-bin
--binlog-format=row
--gtid-mode=on
--enforce-gtid-consistency
--log-slave-updates
--master-info-repository=TABLE
--relay-log-info-repository=TABLE
--transaction-write-set-extraction=MURMUR32
--binlog-checksum=NONE
--server-id=1
--symbolic-links=0
--log-error=/var/log/mysqld.log
--pid-file=/var/run/mysqld/mysqld.pid
[root@box01 plugin]# vim /etc/my.cnf
[root@box01 plugin]# my_print_defaults mysqld
--user=mysql
--port=3306
--datadir=/var/lib/mysql
--socket=/var/lib/mysql/mysql.sock
--log-bin
--binlog-format=row
--gtid-mode=on
--enforce-gtid-consistency
--log-slave-updates
--master-info-repository=TABLE
--relay-log-info-repository=TABLE
--transaction-write-set-extraction=MURMUR32
--binlog-checksum=NONE
--server-id=1
--plugin-load=group_replication.so
--group_replication_group_name=df233400-4102-11e6-9ef4-080027bacf45
--group_replication_recovery_user=rpl
--group_replication_recovery_password=rpl_pass
--group_replication_recovery_retry_count=2
--group_replication_recovery_reconnect_interval=120
--group_replication_local_address=192.168.50.111:10301
--group_replication_peer_addresses=192.168.50.111:10301,192.168.50.112:10302,192.168.50.113:10303
--symbolic-links=0
--log-error=/var/log/mysqld.log
--pid-file=/var/run/mysqld/mysqld.pid

3-) Start mysqld using /etc/init.d/mysqld start

2016-07-29T23:12:14.491482Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-07-29T23:12:14.492955Z 0 [Warning] No argument was provided to --log-bin, and --log-bin-index was not used; so replication may break when this MySQL server acts as a master and has his hostname changed!! Please use '--log-bin=box01-bin' to avoid this problem.
2016-07-29T23:12:14.693011Z 0 [Warning] InnoDB: New log files created, LSN=45790
2016-07-29T23:12:14.727260Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-07-29T23:12:14.785896Z 0 [ERROR] Can't open shared library '/usr/lib64/mysql/plugin/group_replication.so' (errno: 2 /usr/lib64/mysql/plugin/group_replication.so: undefined symbol: _Z26channel_is_applier_waitingPc)
2016-07-29T23:12:14.786050Z 0 [ERROR] unknown variable 'group_replication_group_name=df233400-4102-11e6-9ef4-080027bacf45'
2016-07-29T23:12:14.786065Z 0 [ERROR] Aborting

4-) Comment group_replication variables, restart mysqld and try to use INSTALL PLUGIN

mysql> INSTALL PLUGIN group_replication SONAME 'group_replication.so';
ERROR 1126 (HY000): Can't open shared library '/usr/lib64/mysql/plugin/group_replication.so' (errno: 13 /usr/lib64/mysql/plugin/group_replication.so: undefined symbol: _Z26channel_is_applier_waitingPc)

mysql> \! pwd && ls -lh group_replication.so
/usr/lib64/mysql/plugin
-rwxr-xr-x 1 mysql mysql 7.9M Jan 13  2016 group_replication.so

Additional information:

[root@box01 plugin]# service iptables status
iptables: Firewall is not running.
[root@box01 plugin]# service ip6tables status
ip6tables: Firewall is not running.
[root@box01 plugin]# sestatus
SELinux status:                 disabled
[root@box01 plugin]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m

Suggested fix:
Not sure, I'm looking forward to hearing from the community if they are having the same issue.
[31 Jul 2016 3:14] Wagner Bianchi
It's OK, works just with 5.7.10. I was trying to upgrade MySQL version for the latest release, but, it's not supported.

mysql> select @@version;
+------------+
| @@version  |
+------------+
| 5.7.10-log |
+------------+
1 row in set (0.00 sec)

mysql> pager grep group_replication
PAGER set to 'grep group_replication'
mysql> show plugins;
| group_replication          | ACTIVE   | GROUP REPLICATION  | group_replication.so | GPL     |
45 rows in set (0.00 sec)

I'm closing this one.