PowerScale:使用 API ListObjects 时,列出 S3 存储桶对象会无限循环
Summary: S3 应用程序或 S3 命令使用 S3 API listobject 或 listobjectv2 查询 S3 存储桶中的对象。在某些情况下,如果存在 dirCache但未满足请求,则 PowerScale OneFS S3 会返回错误结果。由于列表对象遇到无限循环,S3 应用程序停止响应。
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
S3 应用程序因列出未完成的存储区而停止响应。
S3 命令
S3 命令
ls 存储区重复获取分页列表中返回的相同对象。
Cause
这可能会遇到 S3 缓存问题。
如果客户端要求
ListObjects 当最大条目数 = 1000 时,在内部我们可能会获得 10,000 个条目(如果目录很宽),但仅将其中的 1000 个返回给客户端,然后将剩余的 9000 个重复使用以用于将来的请求。在下一个请求中,如果存在缓存,并且目录下仍有尚未返回到客户端的文件,并且当前缓存没有足够的条目来满足请求,则我们会遇到此问题,并返回错误的结果。
Resolution
戴尔工程部门正在研究此问题的永久解决方案。预计将发布汇总修补程序 (RUP) 修补程序。
当前的解决方法是配置 S3
到手动
当前的解决方法是配置 S3
ls DIR_CACHE_TTL 暂时更改为 0:
# isi_for_array -X "/usr/likewise/bin/lwsm inject s3 s3_ls_set_dir_cache_ttl on 0"如果 S3 进程重新启动或节点重新启动,请在节点上再次应用解决方法,因为当 S3 重新启动时,它已恢复为默认的 1 小时。
到手动
DIR_CACHE_TTL管理此进程:
#isi_for_array -X "/usr/likewise/bin/lwsm inject s3 s3_ls_set_dir_cache_ttl off"
Affected Products
Isilon, PowerScaleArticle Properties
Article Number: 000223936
Article Type: Solution
Last Modified: 07 Apr 2026
Version: 4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.