使用 API ListObjects 或 ListObjectsV2 列出 S3 存储区对象无限循环
Riepilogo: S3 应用程序或 s3cmd 使用 S3 API listobject 或 listobjectv2 从 s3 存储区查询对象,在某些极端情况下,如果 dirCache 存在但未满足请求,则 Powerscale OneFS s3 将返回错误结果,S3 应用程序会因列表对象命中无限循环而挂起。
Questo articolo si applica a
Questo articolo non si applica a
Questo articolo non è legato a un prodotto specifico.
Non tutte le versioni del prodotto sono identificate in questo articolo.
Sintomi
S3 应用程序只是由于列出存储桶而挂起,无法完成。
S3cmd ls 存储桶重复获取分页列表中返回的相同对象。
S3cmd ls 存储桶重复获取分页列表中返回的相同对象。
Causa
这可能会遇到 s3 缓存错误# PSCALE-217613。
如果客户端请求最大条目 = 1000 的 ListObjects,则在内部我们获得 10,000 个条目(如果目录非常宽),并将其中的 1000 个返回给客户端,然后重复使用剩余的 9000 个用于将来的请求。在下一个请求中,如果存在缓存,并且目录下仍有尚未返回到客户端的文件,并且当前缓存没有足够的条目来满足请求,我们将遇到错误并返回错误的结果。
Risoluzione
工程部门正在研究永久修复,RUP 修补程序将在准备就绪后发布。
当前的解决方法是暂时将 s3 ls DIR_CACHE_TTL 配置为 0:
当前的解决方法是暂时将 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"
Prodotti interessati
Isilon, PowerScaleProprietà dell'articolo
Numero articolo: 000223936
Tipo di articolo: Solution
Ultima modifica: 11 giu 2024
Versione: 3
Trova risposta alle tue domande dagli altri utenti Dell
Support Services
Verifica che il dispositivo sia coperto dai Servizi di supporto.