使用 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 6월 2024
버전:  3
다른 Dell 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.