endlose Schleifen zum Auflisten von S3-Bucket-Objekten mithilfe der API ListObjects oder ListObjectsV2

Riepilogo: 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. ...

Questo articolo si applica a Questo articolo non si applica a Questo articolo non è legato a un prodotto specifico. Non tutte le versioni del prodotto sono identificate in questo articolo.

Sintomi

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.

Causa

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.

Risoluzione

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: 
# 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"

Prodotti interessati

Isilon, PowerScale
Proprietà dell'articolo
Numero articolo: 000223936
Tipo di articolo: Solution
Ultima modifica: 11 giu 2024
Versione:  3
Trova risposta alle tue domande dagli altri utenti Dell
Support Services
Verifica che il dispositivo sia coperto dai Servizi di supporto.