API ListObjects 또는 ListObjectsV2를 사용하여 S3 버킷 객체 무한 루프 나열
Summary: S3 앱 또는 s3cmd가 S3 API listobject 또는 listobjectv2를 사용하여 s3 버킷에서 오브젝트를 쿼리합니다. 경우에 따라 dirCache가 있지만 요청을 이행하지 않는 경우 Powerscale OneFS s3가 잘못된 결과를 반환합니다. 목록 오브젝트가 무한 루프에 도달하여 S3 앱이 중단됩니다.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
버킷을 완료할 수 없는 목록으로 인해 S3 앱이 중단됩니다.
S3cmd ls 버킷은 페이지가 매겨진 목록에서 반환된 동일한 오브젝트를 반복적으로 가져옵니다.
S3cmd ls 버킷은 페이지가 매겨진 목록에서 반환된 동일한 오브젝트를 반복적으로 가져옵니다.
Cause
이로 인해 s3 캐시 버그# PSCALE-217613이 발생할 수 있습니다.
클라이언트가 최대 항목 = 1000 인 ListObjects를 요청하면 내부적으로 10,000 개의 항목 (디렉토리가 매우 넓은 경우)을 가져 와서 그 중 1000 개를 클라이언트에 반환 한 다음 나머지 9000 개를 향후 요청에 다시 사용합니다. 다음 요청에서 캐시가 있고 디렉토리 아래에 아직 클라이언트로 반환되지 않은 파일이 있고 현재 캐시에 요청을 이행할 수 있는 충분한 항목이 없는 경우 버그가 발생하고 잘못된 결과를 반환합니다.
Resolution
엔지니어링 팀에서 영구 수정 작업을 진행 중이며 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"
Affected Products
Isilon, PowerScaleArticle Properties
Article Number: 000223936
Article Type: Solution
Last Modified: 11 Jun 2024
Version: 3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.