endlose Schleifen zum Auflisten von S3-Bucket-Objekten mithilfe der API ListObjects oder ListObjectsV2
Résumé: Die S3-App oder s3cmd verwendet die S3-API listobject oder listobjectv2, um Objekte aus dem S3-Bucket abzufragen. In einigen Ausnahmefällen gibt Powerscale OneFS s3 ein falsches Ergebnis zurück, wenn dirCache vorhanden ist, aber die Anforderung nicht erfüllt wird, hängt die S3-App, weil die Listenobjekte eine Endlosschleife erreichen. ...
Cet article concerne
Cet article ne concerne pas
Cet article n’est associé à aucun produit spécifique.
Toutes les versions du produit ne sont pas identifiées dans cet article.
Symptômes
Die S3-App hängt nur, weil das Auflisten eines Buckets nicht abgeschlossen werden kann.
S3cmd ls-Buckets rufen wiederholt dieselben Objekte in einer paginierten Liste ab.
S3cmd ls-Buckets rufen wiederholt dieselben Objekte in einer paginierten Liste ab.
Cause
Dies könnte auf einen S3-Cache-Fehler # PSCALE-217613 stoßen.
Wenn der Client ListObjects mit max entry = 1000 anfordert, erhalten wir intern 10.000 Einträge (wenn das Verzeichnis sehr breit ist) und geben 1000 davon an den Client zurück, dann verwenden wir die verbleibenden 9000 für zukünftige Anfragen. Wenn bei der nächsten Anforderung ein Cache vorhanden ist und sich noch Dateien im Verzeichnis befinden, die noch nicht an den Client zurückgegeben wurden, und der aktuelle Cache nicht über genügend Eintrag verfügt, um die Anforderung zu erfüllen, ist ein Fehler aufgetreten und es wird ein falsches Ergebnis zurückgegeben.
Résolution
Die Technikabteilung arbeitet an der dauerhaften Lösung und der RUP-Patch wird veröffentlicht, sobald er fertig ist.
Der aktuelle Workaround besteht darin, s3 ls DIR_CACHE_TTL vorübergehend auf 0 zu konfigurieren:
Der aktuelle Workaround besteht darin, s3 ls DIR_CACHE_TTL vorübergehend auf 0 zu konfigurieren:
# isi_for_array -X "/usr/likewise/bin/lwsm inject s3 s3_ls_set_dir_cache_ttl on 0"
Falls der S3-Prozess neu gestartet wird oder ein Node neu gestartet wird, wenden Sie den Workaround erneut auf dem Node an, da er beim Neustart von S3 auf die Standardeinstellung von 1 Stunde zurückgesetzt wurde.
So schalten Sie die manuelle DIR_CACHE_TTL:
#isi_for_array -X "/usr/likewise/bin/lwsm inject s3 s3_ls_set_dir_cache_ttl off"
Produits concernés
Isilon, PowerScalePropriétés de l’article
Numéro d’article: 000223936
Type d’article: Solution
Dernière modification: 11 juin 2024
Version: 3
Trouvez des réponses à vos questions auprès d’autres utilisateurs Dell
Services de support
Vérifiez si votre appareil est couvert par les services de support.