Decouple fatal logging from process termination
- Lenguaje dominante
- C++
- Estrellas
- 221
- Forks
- 124
- Merge medio
- 1 d 16 h
- PR fusionados (30 d)
- 21
Descripción
`LogLevel::kFatal` and the fatal logging macros unconditionally call `std::abort()`. `FatalHandler` runs before the abort, but it is process-global and cannot prevent termination.
This is unsafe for embedded and multi-tenant applications, where one failed Iceberg operation must not terminate the host process.
Logging should not control process lifetime. Recoverable failures should continue to use `Status`/`Result`, while termination for unrecoverable internal invariants should use a separate, explicit mechanism.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza localizando las definiciones y los sitios de llamada de LogLevel::kFatal, las macros de registro fatal y FatalHandler. Lee cómo los fallos recuperables utilizan Status/Result y rastrea dónde se invoca std::abort(). La finalización debe poder demostrarse registrando una condición fatal sin forzar la terminación del proceso, mientras que la terminación por invariantes irrecuperables sigue siendo explícita.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp
- Área
- backend
- Tipo de issue
- Refactorización
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Tranquilo
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 30/100