提问人:uzumas 提问时间:11/15/2023 更新时间:11/15/2023 访问量:9
使用 AFTER 模式进行 mysql 组复制时的数据不一致
Data inconsistency in mysql group replication with AFTER mode
问:
我有 3 个节点 MySQL 组复制集群,具有 AFTER 一致性。
当节点突然关闭或与群集断开连接时,主节点上正在进行的事务会因证书失败而回滚。但是,事务应用于辅助节点。在辅助节点上没有执行任何写入操作。
这将导致数据不一致问题,其中连接到主节点的客户端将看到连接从主节点终止(如果主节点关闭),但数据实际上将存在于集群中,因为辅助节点已应用事务。我使用在旧主gtid_executed和新主服务器上设置的验证了这一点。
如何重复:
- 设置 3 个节点组复制群集
- 在所有节点上设置 group_replication_consistency=AFTER
- 在主节点上杀死 MySQL 进程
- 检查旧主gtid_executed和新主主
有没有人遇到过这个问题或了解这种行为?GR 不是使用 paxos 来建立共识并确保集群中的数据一致性吗?AFTER 模式应该确保所有节点上的数据相同。在这里,txn 似乎将在从其他节点获得 ack 后提交到 master 上。当其他节点发送 ack 时,主节点断开连接,txn 在主节点上回滚。
答: 暂无答案
上一个:逻辑复制停止
评论