apache / apache/iceberg-python

Compatible File storage provider that do not support signature with trailer

Aperta
#2,529 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
1.1k
Fork
581
Merge medio
1g 17h
PR unite (30g)
78

Descrizione

### 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
```

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia con l’implementazione I/O di fsspec e riproduci il caricamento e il download di un file snapxxx.avro su un provider di file storage che non supporta le firme nell’header finale. Ispeziona l’oggetto risultante e l’errore in pyiceberg/avro/decoder_fast.pyx. Il lavoro è completato quando gli oggetti caricati tramite questo percorso possono essere letti e decodificati dal provider interessato senza dati della firma conservati.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
backend
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Da chiarire
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.