[ https://issues.apache.org/jira/browse/BOOKKEEPER-1037?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Enrico Olivelli resolved BOOKKEEPER-1037. ----------------------------------------- Resolution: Won't Fix [~hustlmsp] you are right. I was writing some Test Case inside the BookKeeper codebase in order to prove my problem and I have found an answer to my own problem. I had a silly bug in the recovery code or a new project which skipped the recovery in case of LastAddConfirmed = 0. If the writer writes only one entry and crashes after the recovery the LastAddConfirmed will be 0, and so my bug of the "lost write". I was very worried because I have been using BooKeeper for much time and I did not ever get that issue. In fact it was a bug of my new code ! I will delete the BP7 page as it is not useful and sounds like spam if you are OK > 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)