Xline v0.6.0 现已发布。Xline 是一个基于 Curp 协议的,用于管理元数据的分布式 KV 存储;旨在实现高性能的数据访问和跨数据中心场景下的强一致性。
v0.6.0 新版本功能、修复问题以及重构如下:
新功能
- 为 CUPR 共识协议添加成员变更机制(详情阅读设计文档 #306)
- 实现cluster server 和 client #464, #465
- 实现优雅关机功能。
- 实现 xlinctl 与 xline 集群通信。目前,xlinectl 包括以下功能:
- Compaction和member命令:已在 pr #484 中实施
- Txn、watch和lock命令:在pr #428 中实现
- Role命令:在 pr #427 中实现
- User命令 :在 pr #426 中实施
- Snapshot 和 auth 命令:在 pr #425 中实施
- Delete 和 lease 命令:在 pr #424 中实施
Bug 修复
- benchmark client无法连接服务器 #462
- 删除模拟测试中的停止 #458
- 执行顺序错误 #454
- 检查领导者的密码 #435
- 移除uncommitted pool的恢复逻辑 #419
- CURP TLA+ 法定人数大小计算和属性检查 #418
- 修复propose不处理同步错误 #407
重构
- 减少代码重复 #407
- 考虑 TLA+ 中请求广播的交错状态 #429
- 完善bench client的实现 #496
- 简化错误处理逻辑 #480
- 提高启动错误的可读性 #432
- 在执行和同步后引入命令序列化 #421, #422
已知问题:如果在添加成员后立即关闭群集,领导节点可能无法正常关闭,会不断尝试向关闭的新节点发送条目。详情可查看 #526。
更新说明:https://github.com/xline-kv/Xline/releases/tag/v0.6.0