endlose Schleifen zum Auflisten von S3-Bucket-Objekten mithilfe der API ListObjects oder ListObjectsV2
Sammanfattning: 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. ...
Den här artikeln gäller för
Den här artikeln gäller inte för
Den här artikeln är inte kopplad till någon specifik produkt.
Alla produktversioner identifieras inte i den här artikeln.
Symptom
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.
Orsak
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.
Upplösning
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"
Berörda produkter
Isilon, PowerScaleArtikelegenskaper
Artikelnummer: 000223936
Artikeltyp: Solution
Senast ändrad: 11 juni 2024
Version: 3
Få svar på dina frågor från andra Dell-användare
Supporttjänster
Kontrollera om din enhet omfattas av supporttjänster.