使用 API ListObjects 或 ListObjectsV2 無限列出 S3 儲存器物件循環

Resumen: S3 應用程式或 s3cmd 使用 S3 API listobject 或 listobjectv2 從 s3 貯體查詢物件,在某些極端情況下,Powerscale OneFS s3 會傳回錯誤的結果 如果 dirCache 存在但未履行要求,則 S3 應用程式會因清單物件達到無限循環而當機。

Este artículo se aplica a Este artículo no se aplica a Este artículo no está vinculado a ningún producto específico. No se identifican todas las versiones del producto en este artículo.

Síntomas

S3 應用程式只是掛起,因為列出無法完成的儲存桶。
S3cmd ls 儲存桶會重複取得分頁清單中傳回的相同物件。

Causa

這可能會發生 s3 快取錯誤# PSCALE-217613。 
 
如果用戶端請求最大條目 = 1000 的 ListObjects,則在內部我們獲得 10,000 個條目(如果目錄非常寬)並將其中的 1000 個返回給用戶端,然後重複使用剩餘的 9000 個用於將來的請求。在下一個請求中,如果有緩存,並且目錄下仍有檔尚未返回到客戶端,並且當前緩存沒有足夠的條目來滿足請求,我們遇到了一個錯誤並返回錯誤的結果。

Resolución

工程部門正在開發永久修正程式,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"

Productos afectados

Isilon, PowerScale
Propiedades del artículo
Número del artículo: 000223936
Tipo de artículo: Solution
Última modificación: 11 jun 2024
Versión:  3
Encuentre respuestas a sus preguntas de otros usuarios de Dell
Servicios de soporte
Compruebe si el dispositivo está cubierto por los servicios de soporte.