Hi BookKeepers, I would like to share the prototype for BP-14 https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-14+Relax+durability
I sent a WIP Pull Request https://github.com/apache/bookkeeper/pull/529 Please note that this work depends on BP-15 (PR #510) because we are going to use the new CreateLedger API. Temporary I have added a lot of overloaded versions of createLedger/createLedgerAdv but using the new API these new methods will not be added. I will try to split the patch in smaller tasks but I will appreciate if you have some cycle to start looking at how it will look like. Most notable changes: - introducing a LedgerType in ledger metadata - changes to wire protocol: optional LedgerType in AddRequest, changes in AddResponse, new protocol messages for the Sync API - changes to LederHandle#sendAddSuccessCallbacks (this is the main change to the LAC Protocol on the client-side) - for volatile durability changes LastAddConfirmed will advance only in presence of an explicit "sync" - introduction of SyncCounter on Journal to keep track of which entries have been really persisted durably - new Sync API (this will be subject to change, it will follow the "new style" of BP-15 APIs) - on close() a sync will not be performed automatically on volatile durability ledgers Cheers Enrico