4.4. Ceph 对象网关


使用 AWS CLI 进行多部分上传不再导致 Ceph 对象网关崩溃

在以前的版本中,在使用 AWS CLI 进行多部分上传过程中,RGW 会因为校验和算法和报告行为在 AWS S3 和 AWS SDK 中崩溃,特别是新的 CRC64NVME checksum 算法。

在这个版本中,Ceph 对象网关可以安全地处理未知校验和字符串。因此,AWS CLI 不再会导致多部分上传崩溃 Ceph 对象网关。

Bugzilla:2352427

删除的对象不再出现在存储桶列表中

在以前的版本中,CompleteMultipartAbortMultipart 上传之间的竞争可能会导致结果不一致。因此,对象可能会出现在存储桶列表中,即使它们不再存在。

在这个版本中,AbortMultipart 上传中使用 serializer,并正确删除的对象不再出现在存储桶列表中。

Bugzilla:2331908

Ceph 对象网关在对象删除过程中不再崩溃

在以前的版本中,在某些情况下,未初始化的 check_objv 参数变量可能会导致在对象删除路径中访问无效的内存地址。因此,会出现分段错误。

在这个版本中,check_objv 参数总是被初始化,对象删除可以如预期完成。

Bugzilla:2350607

使用 copy-object的 tail 对象不再错误删除

在以前的版本中,在对象复制到自身时,在 tail 对象上有一个引用计数 invariant。这会导致现有对象已更改,而不是复制。因此,对 tail 对象的引用会被减少。当 refcount on tail 对象丢弃为 0 时,它们会在下一个垃圾回收(GC)周期内被删除。

在这个版本中,在完成 copy-to-self 时,tail 对象上的 refcount 不再被减少。

Bugzilla:2356678

现在,当添加不正确的 thumbprints 时,AssumeRoleWithWebIdentity 操作会失败

在以前的版本中,由于代码中错误地设置了布尔值标志,即使 CreateOIDCProvider 调用中注册了不正确的 thumbprint,AssumeRoleWithWebIdentity 操作也会成功。因此,当应该失败时,AssumeRoleWithWebIdentity 可以成功。

在这个版本中,当 CreateOIDCProvider 调用中没有找到正确的 thumbprints 时,不会设置布尔值标志。因此,如果最终用户在 CreateOIDCProvider 调用中没有提供正确的 thumbprint,则 AssumeRoleWithWebIdentity 操作现在会如预期失败。

Bugzilla:2324227

当 RADOS 处于最大池容量时,Ceph 对象网关现在可以删除对象

在以前的版本中,当 RADOS 池接近其最大配额时,Ceph 对象网关无法删除对象。

在这个版本中,即使 RADOS 达到其最大池阈值,Ceph 对象网关也可以删除对象。

Bugzilla:2342928

用户 Put Object 权限现在在复制的存储桶中被识别

在以前的版本中,在复制的存储桶中无法识别具有 Put Object 访问权限的复制源存储桶的存储桶策略。因此,当访问复制的存储桶时,会发出一个 Access Denied 错误。

在这个版本中,在评估复制的存储桶的权限评估过程中会加载复制源存储桶策略,如预期一样。

Bugzilla:2348708

Parquet 对象上的大型查询不再发出 内存不足 错误

在以前的版本中,在某些情况下,当在 Parquet 对象上处理查询时,该对象会在大型块中读取。这会导致 Ceph 对象网关将较大的缓冲区加载到内存中,这对于低端机器而言太大。当 Ceph 对象网关与 OSD 进程在一起时,内存会特别影响,这会消耗大量内存。当 内存不足错误时,操作系统会终止 Ceph 对象网关进程。

在这个版本中,reader-buffer 大小有更新的限制,用于读取列块。默认大小现在为 16 MB,大小可以通过 Ceph 对象网关配置文件来更改。

Bugzilla:2365146

radosgw-admin 不再由非正数值崩溃

在以前的版本中,当运行 radosgw-admin bucket reshard 命令时,使用 non-positive -num-shards 值(如零或负数)会导致 radosgw-admin 崩溃。

在这个版本中,如果提供了非positive 值,会检查 --num-shards 值会发出错误消息。因此,radosgw-admin reshard 命令会如预期运行,且无法创建崩溃。

Bugzilla:2312578

Ceph 对象网关在签名验证过程中不再失败

在以前的版本中,如果 JSON Web Token (JWT)没有使用第一个 x5c 认证进行签名,签名验证会失败。

在这个版本中,为签名验证选择正确的证书,即使不是第一个认证也是如此。因此,签名验证可以如预期完成。

Bugzilla:2242261

现在,当存储桶版本暂停时,对象会根据生命周期规则集删除

在以前的版本中,由于生命周期代码中的错误,如果存储桶版本处于暂停状态,生命周期进程不会删除对象。因此,对象仍然在存储桶列表中被看到。

在这个版本中,生命周期代码已被修复,现在生命周期过程会根据规则集删除对象,对象不再列在存储桶列表中。

Bugzilla:2319199

多部分上传现在可以添加对象标签

在以前的版本中,当客户端发送时,Ceph Object Gateway S3 多部分上传对象标签无法识别。因此,在多部分上传过程中,客户端无法在初始对象创建过程中成功应用对象标签。

在这个版本中,对象标签会被收集并存储。现在,可以添加对象标签,并在多部分上传过程中识别。

Bugzilla:2323604

STS 实现现在支持大于 1024 字节的加密密钥

在以前的版本中,Ceph Object Gateway STS 实现不支持大于 1024 字节的加密密钥。

在这个版本中,支持大于 1024 字节的加密密钥,如预期一样。

Bugzilla:2237854

bucket 日志记录配置不再允许设置相同的源和目标存储桶

在以前的版本中,设置存储桶日志记录配置时没有检查,验证源和目标存储桶是否不同。

在这个版本中,当源和目标相同时,存储桶日志配置设置将被拒绝。

Bugzilla:2321568

Ceph 对象网关不再会因为处理错误的 kafka 错误消息而崩溃

在以前的版本中,带有 kafka 消息代理的错误条件没有被正确处理。因此,在某些情况下,Ceph Objet Gateway 会崩溃。

在这个版本中,kafka 错误消息会被正确处理,不会导致 Ceph 对象网关崩溃。

Bugzilla:2327774,Bugzilla:2343980

ACL 存储桶操作现在可以按预期工作

在以前的版本中,本地变量 'uri' shadowed a member 变量的名称相同。因此,存储桶 ACL 操作的子集将失败。

在这个版本中,shadowing local duplicated 变量已被删除,ACL 存储桶操作现在可以正常工作。

Bugzilla:2338149

目标存储桶现在需要存储桶策略才能将日志写入它们

在以前的版本中,在存储桶日志记录的目标存储桶上运行任何权限检查。因此,任何用户都可以在不需要特定权限的情况下将日志写入目标存储桶。

在这个版本中,必须在目标中添加存储桶策略,以允许特定用户将日志写入它们。

Bugzilla:2345305

如果本地列在身份验证顺序外部之前,S3 请求不再被拒绝

在以前的版本中,当请求未被本地身份验证引擎成功验证时,S3 请求将被拒绝。因此,当身份验证顺序在外部前具有本地时,使用 OpenStack Keystone EC2 凭证的 S3 请求无法与 Ceph 对象网关进行身份验证

在这个版本中,使用 OpenStack Keystone EC2 凭据签名的 S3 请求成功通过 Ceph 对象网关进行身份验证,即使在外部之前也会列出身份验证。

Bugzilla:2316975

将对象转换到云时不再发送 Ceph 对象网关内部 HTTP 标头

在以前的版本中,当将对象转换为 Cloud 时,一些 Ceph 对象网关内部 HTTP 标头值会发送到 Cloud 端点。因此,一些 S3 云服务无法识别标头,并且失败了转换或无法恢复对象的操作。

在这个版本中,内部 HTTP 标头不会发送到云,过渡到云可以正常工作。

Bugzilla:2344731

radosgw-admin bucket logging flush 命令现在可以按预期工作

在以前的版本中,使用 radosgw-admin bucket logging flush 命令会返回下一个 lob 对象名称。因此,在不列出日志存储桶的情况下,用户不知道已刷新的日志对象的名称。

在这个版本中,刷新的对象的正确名称会如预期返回。

Bugzilla:2344993

升级集群现在可以正确地获取 notification_v2 主题

在以前的版本中,将升级的存储桶通知升级到 notification_v2。因此,notification_v2 中的主题不会按预期检索。

在这个版本中,cluster 升级后会按预期检索 notification_v2 主题。

Bugzilla:2355272

olh get 现在如预期完成

在以前的版本中,对与版本相关的程序错误的 2023 修复会导致内部代码路径引用对象逻辑头(OLH)不正确的属性名称。因此,在运行 radosgw-admin olh get 命令时会发出错误。

在这个版本中,内部属性名称已被修正,确保可以正常工作。

Bugzilla:2338402

Swift 容器列表现在报告对象上次修改的时间

在以前的版本中,Ceph Object Gateway Swift 容器列表实现缺少发送 last_modified JSON 字段的逻辑。因此,Swift 容器列表不会报告对象最后一次修改的时间。

在这个版本中,last_modified JSON 字段已添加到 Swift 容器列表响应中,确保正确报告对象修改时间。

Bugzilla:2343732

Ceph 对象网关现在从其 checksum 类型特定的标头和跟踪器识别额外的校验和

在以前的版本中,aws-sdk-go-v2 checksum 的行为与其他 SDK 不同,因为它没有发送 x-amz-checksum 或 x- amz-sdk-checksum,并且永远不会包含 x-amz-decoded-content-length,尽管 AWS 文档需要它。因此,发送时无法识别额外的校验和,一些 AWS 数据块的请求无法检查解码的内容长度,并显示 InvalidArgument 错误。

在这个版本中,Ceph 对象网关可以从其 checksum-type 特定标头或跟踪器识别额外的校验和。Ceph 对象网关不再测试并断言已解码内容长度,因为块签名计算不必要。

Bugzilla:2367319

现在,在 oidc 命名空间中创建 AssumeRoleWithWebIdentity 调用的 shadow 用户

在以前的版本中,使用不正确的方法加载存储桶统计,这会导致在 oidc 命名空间中不会创建 AssumeRoleWithWebIdentity 调用的 shadow 用户。因此,用户无法区分 shadow 用户和本地 rgw 用户。

在这个版本中,存储桶统计会被正确加载,用户在 oidc 命名空间中正确创建用户。用户现在可以正确地识别与进行 AssumeRoleWithWebIdentity 调用的联邦用户的 shadow 用户。

Bugzilla:2346829

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat