Summary of the problem:
We want to ensure that some "important" entries will be readable for which the writer has received the acknowledge from a quorum of bookies without being able to piggyback the LastAddConfirmed or close the LedgerHandle (a writer which crashes).
This is the simplest failing scenario:
A writer creates a ledger
The writer adds and entry and blocks for the acknowldege of the configured quorum of Bookies
The writer crashes
LAC has not been sent to Bookies and it has not been written to metadata
A recovery is performed, truncating the ledger to the maximum LastAddConfirmed entry ID
Now the entry is no more readable and there is no trace of it on metadata so it cannot be recovered
We can add a new BookKeeper function, addConfirmedEntry which acks like the addEntry function but sends on the protocol a new flag which tells to the Bookie to "advance" the LastAddConfirmed flag immediately as we already do with the ExplicitLAC.