改进后的中文总结内容
本次会议主要讨论了Ceph存储系统中的RGW(Rados Gateway)模块的重构相关问题,并涉及单元测试框架的选择。
跨区组对象复制问题
在跨区组对象复制过程中,当对象大小超过1MB时,复制操作的进度报告机制存在问题。具体来说,使用boost::asio
的异步写入时,yield
无法恢复,导致连接卡住。会议决定通过以下方式解决:
- 使用定时器机制,定期发送进度报告,确保连接保持活跃。
- 由前端协程处理进度报告和最终响应的发送。
- Cena将尝试实现基于定时器的解决方案,并提交PR进行进一步讨论和测试。
单元测试框架选择
会议讨论了在Ceph项目中引入Catch2
作为单元测试框架,以替代现有的GTest
。Catch2
提供更友好的测试体验,支持异常处理,适合编写协程测试。会议决定:
- 如果没有人反对,将引入
Catch2
作为新的单元测试框架。 - 确保
Catch2
作为构建时依赖,不引入额外的打包或运行时依赖。 - Jesse将开始使用
Catch2
编写新的单元测试,并逐步推广。
其他事项
会议还更新了SEF Steering Committee的进展,即将发布的T版本计划在几周内冻结,开发团队需注意时间节点。
总结
本次会议针对Ceph RGW的重构问题进行了深入讨论,并做出了相应的决策。同时,对单元测试框架的选择也达成了一致意见。这些讨论和决策有助于提升Ceph系统的性能和稳定性。