MGR插件初始化过程分析

  • 时间:
  • 浏览:0

register_all_group_replication_psi_keys();

所有的插件初始化还会定义如下的初始化函数,对应到group_replication插件中如下

注册事务操作回调

但真是group_replication并不关心那此操作,什么都有有回调函数基本直接返回。

这次要分为如下几种具体情况,在semisync插件中这次要应用的什么都有有,但是 在group_replication插件中,这次要基本那么 使用,也什么都有有回调函数不做操作。不到group_replication_reset_master_logs,设置了另另另一个內部的变量known_server_reset;

另外机会开启了初始化时启动mgr,则会调用启动函数

其真是MySQL中,不同的插件初始化过程都很累似 ,server 层的调用栈如下

group_replication中涉及到如下多线程 池

事务操作的前后不到进行的回调操作,如下,主要的功能点也在这里实现。

group_replication涉及到的条件变量有如下

负责保护变量group_replication_running

注册的目的是为了在有些过程中的回调。

这次要注册,用于在binlog的发送过程中进行回调

server state observer主要用于实现,在数据库启动停止时的回调动作。如下:

初始化的过程如下:

负责保护force_members_running

在用户链接时,不到做如下操作, 暂时那么 细究,应该是在切换,机会初始化时守候具体情况的切换完成。

涉及到的读写锁有如下

在数据库shutdown时,不到关闭MGR插件,什么都有有执行函数plugin_group_replication_stop().