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

阅读: 评论:0

【Ceph Bugs 系列】Red Hat Ceph Storage 3.2 设置 lifecycle 后,JDK 报错: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 "

即 “星期,日 月 年,时:分:秒” 的 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 社区版即可解决此问题。

本文发布于:2024-02-05 08:02:27,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170727887164764.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:报错   系列   Hat   Storage   Red
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23