S3-Clients melden "ungültige UTF-8"- oder XML-Parsing-Fehler aufgrund nicht unterstützter URL-Codierung
Summary: Betroffenes Produkt: PowerScale OneFS (Versionen vor 9.13) S3-Clientanwendungen, die in einem PowerScale OneFS-Cluster betrieben werden, melden "ungültige UTF-8"- oder XML-Parsing-Ausnahmen bei der Durchführung von "ListObjects"- oder "ListObjectsV2"-Anforderungen (GET Bucket). Dieses Problem betrifft Umgebungen, in denen standardmäßige ASCII-Dateinamen Sonderzeichen enthalten, vor allem das Prozentzeichen ('%'). ...
Symptoms
Betroffenes Produkt: PowerScale OneFS (Versionen vor 9.13)
S3-Clientanwendungen, die in einem PowerScale OneFS-Cluster betrieben werden, melden "invalid UTF-8" oder XML-Parsing-Ausnahmen beim Ausführen von 'ListObjects" oder "ListObjectsV2' (GET Bucket)-Anforderungen. Dieses Problem betrifft Umgebungen, in denen standardmäßige ASCII-Dateinamen Sonderzeichen enthalten, vor allem das Prozentzeichen ('%').
Cause
Die Ursache ist ein URL-Dekodierungsfehler, der als UTF-8-Fehler fungiert.
Wenn eine S3-Clientanwendung Folgendes anfordert: `encoding-type=url`, wird erwartet, dass alle Objektschlüssel in der zurückgegebenen XML-Nutzlast URL-codiert sind (z. B. sollte das Zeichen '%' zu '%25' maskiert werden). OneFS bietet jedoch keine Unterstützung für den Parameter "encoding-type=url" für `GET Bucket (List Objects)` und ignoriert sie stillschweigend.
Da der Parameter ignoriert wird, gibt OneFS den Raw-Dateinamen (z. B. "fred%jim") in der XML-Antwort zurück. Der XML-Parser des Clients versucht, die Zeichenfolge URL-decodieren, interpretiert die Zeichen unmittelbar nach dem unformatierten '%'-Symbol als hexadezimalen Bytewert und stürzt ab. Dieser Absturz warnt vor
Resolution
Nachverfolgt und behoben unter PSCALE-8898 (Problem 264794)
So beheben Sie dieses Problem dauerhaft:
- Upgrade: Führen Sie ein Upgrade des Clusters auf OneFS 9.13 oder höher durch, wobei die Unterstützung für "encoding-type=url" nativ implementiert wurde.
- Backport-Anforderung:** angefordert für (OneFS 9.7.1 und 9.10.1).
Problemumgehung
- Wenn kein sofortiger Patch angewendet werden kann, müssen die Dateien, die das Zeichen "%" enthalten, mithilfe eines alternativen Protokolls (SMB, NFS oder lokale CLI) umbenannt werden, um das Sonderzeichen zu entfernen, oder die Clientanwendung muss neu konfiguriert werden, um keine URL-Codierung anzufordern.