Skip to content

Do not throw NoEntryException when failing to read entry log #2908

@Vanlightly

Description

@Vanlightly

Ledger recovery counts on bookies to respond with OK or an error when a client performing recovery reads an entry that was previously acknowledged to the original client. If a bookie responds with a NoSuchEntry or NoSuchLedger for such an entry, then recovery may close the ledger at that point, truncating it (data loss).

The EntryLogger can throw a NoEntryException if a log file is corrupted, thus leaving BookKeeper vulnerable to ledger truncation when a log file gets corrupted, turning a recoverable data loss situation into an unrecoverable data loss.

PR #2909.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions