Error number: MY-010722; Symbol: ER_RPL_MTS_SLAVE_COORDINATOR_HAS_WAITED; SQLSTATE: HY000
Message: Multi-threaded slave: Coordinator has waited %lu times hitting replica_pending_jobs_size_max; current event size = %zu.
MY-010722:ER_RPL_MTA_REPLICA_COORDINATOR_HAS_WAITED
错误说明
MY-010722错误指示MySQL发现一个MySQL复制(Replication)状态内某个特定的复制标志,说明特定集群成员的复制协调程序(Replica Coordinator)至少等待了耗时超过系统规定最大延迟时间(Max Wait Time)而未得到原定结果,即发生可能影响复制下线的延迟。
常见案例
MY-010722错误通常会在在一个MySQL复制集群的环境中出现,当复制的主节点重新加入集群时会发生。此外,在正常复制运行过程中,当复制协调程序在等待复制从节点从日志中获取更新而未获得结果时也会出现。
解决方法
若发现MY-010722,可以根据以下步骤排查:
Step 1:查看复制日志是否有明显异常消息,包括某个节点的non-transactional更新尚未应用到其它节点,slave sql线程运行落后,slave io线程运行落后等。
Step 2:查看相关参数设置,例如slave_net_timeout和relay_log_space_limit的值是否符合要求。
Step 3:若Step 1和Step 2检查后未发现异常,可以检查是否MySQL集群处于不断变化的状态,以确保协调程序发出的日志更新请求都能正常送达与之相应的节点,从而避免某节点延迟加入复制组,造成等待超时的问题。