Also what is interesting is that ledger recovery reads past the LAC and can
read an entry that got added to ledger storage cache but not to the journal
due to a failure. These are dirty reads as the entries could still be lost
if the bookie fails before flushing ledger storage. But these dirty reads
during ledger recovery are also not a problem because ledger recovery
writes these entries back to the ensemble and recovery only completes when
those writes reach AQ.

On Sun, 21 Nov 2021, 16:30 Enrico Olivelli, <eolive...@gmail.com> wrote:

>
>
> Il Dom 21 Nov 2021, 16:15 735367737 <735367...@qq.com> ha scritto:
>
>> hi:
>>    I'm a newer to bookkeeper. i read the Durability with BookKeeper
>> <https://www.researchgate.net/publication/262272803_Durability_with_BookKeeper>
>> before i read bookkeeper's code. i got a question about journal.I paper it
>> says journal is  write-ahead log and stores synchronously and sequentially
>> all updates the bookie executes . but when i read code .i found the entry
>> write into ledgerStorage before write into
>> journal(Bookie.addEntryInternal).is there something i miss ?
>>
>
> It is actually not a problem because:
> - entries are immutabile
> - the reader is prevented from reading data not acknowledged by the writer
> by the Last Add Confirmed protocol
>
>
> Enrico
>
>                  thanks.
>>
>

Reply via email to