бесконечное перечисление объектов контейнера S3 с помощью API ListObjects или ListObjectsV2

요약: Приложение S3 или s3cmd использует объект списка или listobjectv2 API S3 для запроса объектов из корзины s3, в некоторых редких случаях Powerscale OneFS s3 возвращает неверный результат, если dirCache присутствует, но не выполняет запрос, приложение S3 зависает из-за того, что объекты списка попадают в бесконечный цикл. ...

이 문서는 다음에 적용됩니다. 이 문서는 다음에 적용되지 않습니다. 이 문서는 특정 제품과 관련이 없습니다. 모든 제품 버전이 이 문서에 나와 있는 것은 아닙니다.

증상

Приложение S3 зависает из-за того, что не удается завершить перечисление контейнера.
S3cmd ls bucket многократно возвращает одни и те же объекты в списке с разбивкой на страницы.

원인

Это может привести к ошибке кэша s3 # PSCALE-217613. 
 
Если клиент запрашивает ListObjects с max entry = 1000, то внутренне мы получаем 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 사용자에게 질문에 대한 답변 찾기
지원 서비스
디바이스에 지원 서비스가 적용되는지 확인하십시오.