endlose Schleifen zum Auflisten von S3-Bucket-Objekten mithilfe der API ListObjects oder ListObjectsV2
Summary: 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. ...
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
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.
Resolution
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"
Affected Products
Isilon, PowerScaleArticle Properties
Article Number: 000223936
Article Type: Solution
Last Modified: 11 Jun 2024
Version: 3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.