apache / apache/iceberg-python
Compatible File storage provider that do not support signature with trailer
- Langage dominant
- Python
- Étoiles
- 1.1k
- Forks
- 581
- Merge moyen
- 1 j 17 h
- PR mergées (30 j)
- 77
Description
### Feature Request / Improvement
When use fsspec io-impl, put object to File Storage Provider(FSP) not support
- [Signature calculations for trailing headers](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming-trailers.html)
- [checking-object-integrity-upload](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity-upload.html)
Put file like snapxxx.avro will not handle by FSP after upload(put object is success), the file some data signature related things are reserved.
When get snapxxx.avro to read and decoder, raise Error, Because the file contains signature information
```python
File "pyiceberg/avro/decoder_fast.pyx", line 150, in pyiceberg.avro.decoder_fast.CythonBinaryDecoder.read_utf8
cpdef str read_utf8(self):
File "pyiceberg/avro/decoder_fast.pyx", line 156, in pyiceberg.avro.decoder_fast.CythonBinaryDecoder.read_utf8
return self.read_bytes().decode("utf-8")
File "pyiceberg/avro/decoder_fast.pyx", line 130, in pyiceberg.avro.decoder_fast.CythonBinaryDecoder.read_bytes
return r[0:length]
SystemError: Negative size passed to PyBytes_FromStringAndSize
```
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par l’implémentation d’E/S de fsspec et reproduisez l’envoi et le téléchargement d’un fichier snapxxx.avro auprès d’un fournisseur de stockage de fichiers qui ne prend pas en charge les signatures dans l’en-tête final. Inspectez l’objet résultant et l’échec dans pyiceberg/avro/decoder_fast.pyx. Le travail est terminé lorsque les objets envoyés via ce chemin peuvent être lus et décodés par le fournisseur concerné sans données de signature conservées.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- backend
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- À clarifier
- Accessibilité débutants
- 42/100