Uploaded image for project: 'Bookkeeper'
  1. Bookkeeper
  2. BOOKKEEPER-1037

BP7 - Explicit LAC on addEntry

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • 4.4.0
    • None
    • None

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              eolivelli Enrico Olivelli
              eolivelli Enrico Olivelli
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 48h
                  48h
                  Remaining:
                  Remaining Estimate - 48h
                  48h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified