[ https://issues.apache.org/jira/browse/BOOKKEEPER-1037?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15973154#comment-15973154 ]
Sijie Guo commented on BOOKKEEPER-1037: --------------------------------------- [~eolivelli] I am confused about the case that you described in the description. The recovery will do forward-recovery until it hits an entry that doesn't exist. I am not sure why do you need explicit lac on addEntry. Ideally lac should never be exposed in any interface. > BP7 - Explicit LAC on addEntry > ------------------------------ > > Key: BOOKKEEPER-1037 > URL: https://issues.apache.org/jira/browse/BOOKKEEPER-1037 > Project: Bookkeeper > Issue Type: New Feature > Components: bookkeeper-client, bookkeeper-server > Affects Versions: 4.4.0 > Reporter: Enrico Olivelli > Assignee: Enrico Olivelli > Original Estimate: 48h > Remaining Estimate: 48h > > see > https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP7+-+Explicit+LAC+on+addEntry > 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. -- This message was sent by Atlassian JIRA (v6.3.15#6346)