I client S3 segnalano errori di analisi "UTF-8 non valido" o XML a causa di codifica URL non supportata
Summary: Prodotto interessato: PowerScale OneFS (release precedenti alla 9.13) Le applicazioni client S3 che operano su un cluster PowerScale OneFS segnalano eccezioni di analisi "UTF-8 non valide" o XML durante l'esecuzione di richieste "ListObjects" o "ListObjectsV2" (bucket GET). Questo problema interessa gli ambienti in cui i nomi di file ASCII standard contengono caratteri speciali, in particolare il segno di percentuale ('%'). ...
Symptoms
Prodotto interessato: PowerScale OneFS (release precedenti alla 9.13)
Report delle applicazioni client S3 che operano su un cluster PowerScale OneFS "invalid UTF-8" o eccezioni di analisi XML durante l'esecuzione di 'ListObjects' o 'ListObjectsV2' (bucket GET). Questo problema interessa gli ambienti in cui i nomi di file ASCII standard contengono caratteri speciali, in particolare il segno di percentuale ('%').
Cause
La causa è un errore di decodifica dell'URL che funge da errore UTF-8.
Quando un'applicazione client S3 richiede `encoding-type=url`, prevede che tutte le chiavi oggetto nel payload XML restituito siano codificate in URL (ad esempio, il carattere '%' deve essere preceduto da '%25'). Tuttavia, OneFS non supporta il parametro "encoding-type=url" per `GET Bucket (List Objects)` richieste e le ignora in modo invisibile all'utente.
Poiché il parametro viene ignorato, OneFS restituisce il nome del file non elaborato (ad es. 'fred%jim') nella risposta XML. Il parser XML del client tenta di decodificare tramite URL la stringa, interpreta in modo errato i caratteri immediatamente successivi al simbolo '%' non elaborato come valore di byte esadecimale e si arresta in modo anomalo. Questo avviso di arresto anomalo indica
Resolution
Monitorato e risolto in base a PSCALE-8898 (problema 264794)
Per risolvere definitivamente questo problema:
- Aggiornamento: Aggiornare il cluster a OneFS 9.13 o versione successiva, dove il supporto per "encoding-type=url" è stato implementato in modo nativo.
- Richiesta di backport:** richiesta per (OneFS 9.7.1 e 9.10.1).
Soluzione alternativa
- Se non è possibile applicare una patch immediata, i file contenenti il carattere "%" devono essere rinominati utilizzando un protocollo alternativo (SMB, NFS o CLI locale) per rimuovere il carattere speciale oppure l'applicazione client deve essere riconfigurata in modo da non richiedere la codifica URL.