apache / apache/iceberg-python

Compatible File storage provider that do not support signature with trailer

Abierto
#2,529 2 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Python
Estrellas
1.1k
Forks
581
Merge medio
1 d 17 h
PR fusionados (30 d)
77

Descripción

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

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza con la implementación de E/S de fsspec y reproduce la carga y descarga de un archivo snapxxx.avro contra un proveedor de almacenamiento de archivos que no admite firmas en la cabecera final. Inspecciona el objeto resultante y el error en pyiceberg/avro/decoder_fast.pyx. Se considera terminado cuando los objetos cargados a través de esta ruta pueden ser leídos y decodificados por el proveedor afectado sin datos de firma conservados.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
backend
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Tranquilo
Claridad
Necesita aclaración
Aptitud para principiantes
42/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.