la liste des objets de bucket S3 boucle à l’infini à l’aide de l’API ListObjects ou ListObjectsV2

摘要: L’application S3 ou s3cmd utilise l’API S3 listobject ou listobjectv2 pour interroger les objets à partir du bucket S3. Dans certains cas, Powerscale OneFS s3 renvoie un résultat incorrect si dirCache est présent, mais qu’il ne répond pas à la demande. ...

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

L’application S3 se bloque car la liste d’un bucket ne peut pas se terminer.
S3cmd ls récupère à plusieurs reprises les mêmes objets dans une liste paginée.

原因

Cela peut rencontrer un bug de cache s3 # PSCALE-217613. 
 
Si le client demande ListObjects avec max entry = 1000, en interne, nous obtenons 10 000 entrées (si le répertoire est très large) et en renvoyons 1000 au client, puis réutilisons les 9000 restantes pour les requêtes futures. Lors de la demande suivante, s’il existe un cache et qu’il y a encore des fichiers sous le répertoire qui ne sont pas encore retournés au client, et que le cache actuel n’a pas assez d’entrées pour répondre à la demande, nous rencontrons un bogue et renvoyons un résultat erroné.

解决方案

Les ingénieurs travaillent sur le correctif permanent et le correctif RUP sera publié une fois prêt. 
La solution de contournement actuelle consiste à configurer temporairement s3 ls DIR_CACHE_TTL à 0 : 
# isi_for_array -X  "/usr/likewise/bin/lwsm inject s3 s3_ls_set_dir_cache_ttl on 0"

Si le processus s3 redémarre ou si un nœud redémarre, appliquez à nouveau la solution de contournement sur le nœud, car la valeur par défaut est revenue à 1 heure lors du redémarrage de S3. 
Pour désactiver le manuel 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
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。