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.