listando loops de objetos de bucket do S3 infinitamente usando a API ListObjects ou ListObjectsV2
摘要: O aplicativo S3 ou s3cmd usa listobject ou listobjectv2 da API do S3 para consultar objetos do bucket do s3. Em alguns casos, o PowerScale OneFS s3 retornará um resultado incorreto se o dirCache estiver lá, mas não atender à solicitação, o aplicativo S3 travará porque os objetos da lista atingiram o loop infinito. ...
本文适用于
本文不适用于
本文并非针对某种特定的产品。
本文并非包含所有产品版本。
症状
O aplicativo S3 simplesmente trava porque a listagem de um bucket não pode ser concluída.
O bucket ls do S3cmd obtém repetidamente os mesmos objetos retornados em uma lista paginada.
O bucket ls do S3cmd obtém repetidamente os mesmos objetos retornados em uma lista paginada.
原因
Isso pode atingir um bug de cache do s3# PSCALE-217613.
Se o cliente solicitar ListObjects com entrada máxima = 1000, internamente obteremos 10.000 entradas (se o diretório for muito amplo) e retornaremos 1000 delas ao cliente, então reutilizaremos as 9000 restantes para solicitação futura. Na próxima solicitação, se houver um cache, e ainda houver arquivos no diretório que ainda não foram retornados ao cliente, e o cache atual não tiver entrada suficiente para atender à solicitação, acertamos um bug e retornaremos um resultado errado.
解决方案
A engenharia está trabalhando na correção permanente e o patch RUP será lançado assim que estiver pronto.
A solução temporária atual é configurar s3 ls DIR_CACHE_TTL a 0 temporariamente:
A solução temporária atual é configurar s3 ls DIR_CACHE_TTL a 0 temporariamente:
# isi_for_array -X "/usr/likewise/bin/lwsm inject s3 s3_ls_set_dir_cache_ttl on 0"
Caso o processo do s3 seja reiniciado ou um nó seja reinicializado, aplique a solução temporária novamente no nó, já que ele foi revertido para o padrão de 1 hora quando o s3 foi reiniciado.
Para desativar manualmente 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
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。