[改进后的中文总结内容]

Ceph RGW 重构会议纪要(2025-10-08)

会议主题

本次会议主要讨论了以下议题:

  1. S3 测试中的 Boto2 迁移问题
  2. S3 测试仓库迁移至 Ceph 主仓库
  3. Ragweed 测试框架的未来
  4. RGW 版本化存储桶索引限制与改进方案

1. S3 测试中的 Boto2 迁移问题

讨论内容

  • 问题:由于新版 Python 不再支持 boto2,导致 S3 测试失败。
  • 解决方案:
    • 移除 boto2 依赖,并提交相关 PR。
    • 使用 Fuzzing 替代手工构造的无效请求测试。
  • 后续行动:
    • 重新提交并合并移除 boto2 的 PR。
    • 评估 Fuzzing 在 S3 API 测试中的适用性。

2. S3 测试仓库迁移至 Ceph 主仓库

讨论内容

  • 背景:S3 测试独立仓库导致 QA 流程复杂。
  • 进展:Adam 已提供 POC,验证迁移可行性。
  • 优势:简化测试流程,统一管理。
  • 后续行动:推进迁移工作,解决技术细节后合并至主仓库。

3. Ragweed 测试框架的未来

讨论内容

  • 现状:Ragweed 用于跨版本升级测试,但近年未新增重要测试用例,存在 boto2 依赖问题。
  • 争议:
    • 保留:支持非 S3 API 测试,适合跨版本兼容性验证。
    • 废弃:维护成本高,测试覆盖有限。
  • 后续行动:
    • 暂不废弃,但需明确其定位。
    • 鼓励社区贡献简化方案或替代工具。

4. RGW 版本化存储桶索引限制与改进方案

讨论内容

  • 问题:版本化存储桶的索引分片要求同一对象的所有版本必须位于同一分片,导致单对象版本过多时分片可能超过 OMAP 的限制。
  • 改进方向:
    • 有序索引:支持版本跨分片存储,通过分片动态拆分/合并优化负载。
    • 事务模型调整:解决跨分片事务一致性。
    • 版本数量限制:默认限制可防止意外问题,但需支持用户自定义或“无限制”场景。
  • 后续行动:
    • Eric 深入研究 OH epoch 与分片路由的关系,优化事务模型。
    • 社区讨论版本限制的默认值与错误处理。

行动计划总结

  • 合并移除 boto2 的 PR。
  • S3 测试仓库迁移至主仓库。
  • Ragweed 框架评估。
  • RGW 有序索引开发。