Jepsen: MariaDB Galera Cluster 12.1.2
核心发现
MariaDB Galera Cluster 声称"无丢失事务",但在两种情况下会丢失事务。文档声称是错误的,实际隔离级别低于声称。
关键问题
- 丢失事务情况 1:推荐配置不刷盘 - 节点快速连续崩溃时丢失已提交事务
- 丢失事务情况 2:进程崩溃和网络分区时偶尔丢失已提交事务
- 隔离级别问题:允许 P4 (Lost Update),不符合声称的"Serializable 和 Repeatable Read 之间"
- 文档错误:"事务在所有节点提交才返回成功"是错的,Galera 可以在少数节点故障时继续运行
背景
- 历史:2015年 Jepsen 曾分析 MariaDB Galera,发现 first-committer-wins 设计导致金钱丢失
- 收购:2025年 MariaDB 收购 Codership Oy (Galera 开发者)
- 测试方法:使用 Jepsen 的 Elle 检查器进行分布式一致性测试
- 测试故障:网络分区、进程暂停、进程杀死
关于 Jepsen
Jepsen 是分布式系统测试的权威,由 Kyle Kingsbury (aphyr) 创立。他们通过引入各种故障来测试数据库的一致性保证,是数据库领域的重要参考。