Non-finite defaults cause panics during serde

Abierto Apto para principiantes
#3,627 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@compiler-segfault ya está trabajando en esto.

Desde el 7/11/2026.

  • #3656 de @compiler-segfault — abierto

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
73/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
rust
Área
backend

Línea de trabajo

Empieza por localizar el manejo de valores predeterminados de NestedField y la ruta de serialización para los valores predeterminados de coma flotante de 32 bits; el issue identifica un valor predeterminado de Float de "1e39" como caso de reproducción. Rastrea dónde entra en pánico la serialización y cómo el código cercano informa de los errores. Se considera terminado cuando esta entrada devuelve un error en lugar de entrar en pánico, mientras que los valores predeterminados válidos siguen serializándose.

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

Descripción

bug
Apache Iceberg Rust version

main

Describe the bug

Constructing a bad default for floating number fields, such as a float that exceeded the bounds of a 32-bit float, would panic rather than reporting the error.

To Reproduce

Construct a NestedField for Float (32-bit) with this value as the default: "1e39". Then, serialize.

This value is larger than what can be represented with a 32-bit float, and will panic during serialization.

Expected behavior

Instead of a panic, this must report an error.

Willingness to contribute

I can contribute a fix for this bug independently

Lenguaje dominante
Rust
Estrellas
1.4k
Forks
628
Merge medio
3 d 9 h
PR fusionados (30 d)
80

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/iceberg-rust

Todos los issues de apache/iceberg-rust

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.