【Ceph Bugs 系列】Red Hat Ceph Storage 3.2 设置 lifecycle 后,JDK 报错:Error parsing expiry

编程入门 行业动态 更新时间:2024-10-28 20:22:24

【Ceph Bugs 系列】Red Hat Ceph Storage 3.2 设置 lifecycle 后,JDK <a href=https://www.elefans.com/category/jswz/34/1771188.html style=报错:Error parsing expiry"/>

【Ceph Bugs 系列】Red Hat Ceph Storage 3.2 设置 lifecycle 后,JDK 报错:Error parsing expiry

环境信息

Ceph 版本:Red Hat Ceph Storage 3.1(对应社区版为 12.2.8)

问题描述

如果在对象存储的 bucket 上设置了 lifecycle(生命周期),那么 rgw 网关返回给客户端的 response headers 中会加一个 x-amz-expiration。

对于 x-amz-expiration 的格式,Amazon 官网给出的示例为:

x-amz-expiration: expiry-data="Fri, 21 Dec 2012 00:00:00 GMT, rule-id="Rule for testfile.txt"

即 “星期,日 月 年,时:分:秒” 的 GMT 格式。并且 Amazon S3 的 JDK 也是按照这个格式来解析的。

在社区版本的 Ceph Luminous 中,无论是否配置 lifecycle ,均不会有此字段。社区版的 Ceph ,直到 Nautilus 版本才有此功能。

但在红帽的的 rhceph3.1 中,红帽自行修复了此问题,不过返回的 respose header 中,格式却为:

expiry-date="Mon Aug 8 08:32:50 2019"

即 “星期 月 日 时:分:秒 年” 格式。由于格式与 Amazon S3 中明显不同,导致 Amazon S3 client 包在解析时一直报 warn 日志。

原因分析

个人推测,Amazon 的格式为 GMT 标准。在 Ceph 社区版无此功能时,红帽作为一个美国公司,直接按照美式时间日期显示格式设置了返回值,造成与标准 GMT 格式不兼容。

解决办法

升级到 Red Hat Ceph Storage 3.3,或者采用 Ceph Nautilus 社区版即可解决此问题。

更多推荐

【Ceph Bugs 系列】Red Hat Ceph Storage 3.2 设置 lifecycle 后,JDK 报错:Error parsing expir

本文发布于:2024-02-05 08:02:27,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1673658.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:报错   系列   Hat   Storage   Red

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!