PowerScale:使用 API ListObjects 时,列出 S3 存储桶对象会无限循环

Résumé: S3 应用程序或 S3 命令使用 S3 API listobject 或 listobjectv2 查询 S3 存储桶中的对象。在某些情况下,如果存在 dirCache但未满足请求,则 PowerScale OneFS S3 会返回错误结果。由于列表对象遇到无限循环,S3 应用程序停止响应。

Cet article concerne Cet article ne concerne pas Cet article n’est associé à aucun produit spécifique. Toutes les versions du produit ne sont pas identifiées dans cet article.

Symptômes

S3 应用程序因列出未完成的存储区而停止响应。

S3 命令 ls 存储区重复获取分页列表中返回的相同对象。

Cause

这可能会遇到 S3 缓存问题。 
 
如果客户端要求 ListObjects 当最大条目数 = 1000 时,在内部我们可能会获得 10,000 个条目(如果目录很宽),但仅将其中的 1000 个返回给客户端,然后将剩余的 9000 个重复使用以用于将来的请求。在下一个请求中,如果存在缓存,并且目录下仍有尚未返回到客户端的文件,并且当前缓存没有足够的条目来满足请求,则我们会遇到此问题,并返回错误的结果。

Résolution

戴尔工程部门正在研究此问题的永久解决方案。预计将发布汇总修补程序 (RUP) 修补程序。

当前的解决方法是配置 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"

Produits concernés

Isilon, PowerScale
Propriétés de l’article
Numéro d’article: 000223936
Type d’article: Solution
Dernière modification: 07 avr. 2026
Version:  4
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.