Skip to content

Decouple fatal logging from process termination #887

Description

@wgtmac

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions