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

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

Данная статья применяется к Данная статья не применяется к Эта статья не привязана к какому-либо конкретному продукту. В этой статье указаны не все версии продуктов.

Симптомы

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

Причина

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

Разрешение

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

Затронутые продукты

Isilon, PowerScale
Свойства статьи
Номер статьи: 000223936
Тип статьи: Solution
Последнее изменение: 11 Jun 2024
Версия:  3
Получите ответы на свои вопросы от других пользователей Dell
Услуги технической поддержки
Проверьте, распространяются ли на ваше устройство услуги технической поддержки.