v0.94.2 Hammer 发布
sage
本次 Hammer 点版本修复了 RGW 中的一些关键错误,这些错误可能导致以下问题:以下划线开头的对象行为不正确,以及使用 Civetweb 独立模式时删除对象的垃圾回收无法正常进行。
强烈建议所有 v0.94.x Hammer 用户升级,并注意以下修复过程,如果正在使用 RGW。
从先前 Hammer 版本升级 ¶
Bug #11442 引入了一个更改,使得以下划线开头的 rgw 对象与先前版本不兼容。该错误的修复恢复了之前的行为。为了能够访问在先前的 Hammer 版本中创建的以下划线开头的对象,升级后需要为每个受影响的 bucket 运行以下命令:
$ radosgw-admin bucket check --check-head-obj-locator \ --bucket=
值得注意的更改 ¶
- build: 编译错误:没有可用的高精度计数器 (armhf, powerpc..) (#11432, James Page)
- ceph-dencoder 链接到 libtcmalloc,不应该这样做 (#10691, Boris Ranto)
- ceph-disk: disk zap sgdisk 调用 (#11143, Owen Synge)
- ceph-disk: 使用新的磁盘作为日志磁盘,ceph-disk prepare 失败 (#10983, Loic Dachary)
- ceph-objectstore-tool 应该在 ceph 服务器包中 (#11376, Ken Dreyer)
- librados: 如果 osdmap epoch == last_force_op_resend,可能会陷入重定向循环 (#11026, Jianpeng Ma)
- librbd: 代理扁平化请求的重传可能导致 -EINVAL (Jason Dillaman)
- librbd: ImageWatcher 应该在 watch 错误时取消正在进行的 ops (#11363, Jason Dillaman)
- librbd: Objectcacher 设置的最大对象计数过低 (#7385, Jason Dillaman)
- librbd: TestLibRBD.DiffIterateStress 的周期性失败 (#11369, Jason Dillaman)
- librbd: 排队 AIO 引用计数器更新不正确 (#11478, Jason Dillaman)
- librbd: 镜像刷新中的死锁 (#5488, Jason Dillaman)
- librbd: snap_create 上的通知竞争条件 (#11342, Jason Dillaman)
- mds: Hammer uclient 检查 (#11510, John Spray)
- mds: 在主动释放 caps 时从撤销列表中删除 caps (#11482, Yan, Zheng)
- messenger: reaper 中的管道双重清除 (#11381, Haomai Wang)
- mon: OSD 的总大小比应该的大小小得多 (#11534, Zhe Zhang)
- osd: 不要检查 finish_proxy_read 中的顺序 (#11211, Zhiqiang Wang)
- osd: 处理升级后旧的半删除的 pg (#11429, Samuel Just)
- osd: 通过 write 创建的对象不能在擦除编码池上使用偏移量 (#11507, Jianpeng Ma)
- rgw: 通过避免读取第一个 chunk 的主体来改进 rgw HEAD 请求 (#11001, Guang Yang)
- rgw: civetweb 达到限制(线程数 1024) (#10243, Yehuda Sadeh)
- rgw: civetweb 应该使用唯一的请求 ID (#10295, Orit Wasserman)
- rgw: Hammer 的关键修复 (#11447, #11442, Yehuda Sadeh)
- rgw: 修复 swift COPY 标头 (#10662, #10663, #11087, #10645, Radoslaw Zarzynski)
- rgw: 改进大型对象(多个 chunk)GET 的性能 (#11322, Guang Yang)
- rgw: init-radosgw: 以 root 用户身份运行 RGW (#11453, Ken Dreyer)
- rgw: keystone token 缓存无法正常工作 (#11125, Yehuda Sadeh)
- rgw: 使 quota/gc 线程可配置以供启动 (#11047, Guang Yang)
- rgw: 使 swift 响应的 RGW 返回 last-modified、content-length、x-trans-id 标头 (#10650, Radoslaw Zarzynski)
- rgw: 正确合并具有前缀覆盖时的清单 (#11622, Yehuda Sadeh)
- rgw: POST 对象中不遵守配额 (#11323, Sergey Arkhipov)
- rgw: 在 EEXIST 之后恢复 multipart 上传的缓冲区 (#11604, Yehuda Sadeh)
- rgw: 如果配置了前端,则不应该禁用 rgw_socket_path (#11160, Yehuda Sadeh)
- rgw: swift: 容器 GET 请求的响应标头不包含 X-Container-Object-Count、X-Container-Bytes-Used 和 x-trans-id 标头 (#10666, Dmytro Iurchenko)
- rgw: swift: 对象 POST 请求的响应标头不包含 content-length 和 x-trans-id 标头 (#10661, Radoslaw Zarzynski)
- rgw: swift: 容器 GET/HEAD 请求的响应不包含 X-Timestamp 标头 (#10938, Radoslaw Zarzynski)
- rgw: swift: 使用 FCGI 时,/container 上的 PUT 请求的响应不包含强制的 Content-Length 标头 (#11036, #10971, Radoslaw Zarzynski)
- rgw: swift: 处理 Swift 容器上的空元数据时出错 (#11088, Radoslaw Zarzynski)
- tests: TestFlatIndex.cc 与 TestLFNIndex.cc 竞争 (#11217, Xinze Chi)
- tests: ceph-helpers kill_daemons 在 kill 失败时失败 (#11398, Loic Dachary)
有关更多详细信息,请参阅 完整的变更日志。