( /cc bookkeeper dev@ and incubator general@ for awareness )

Hi all,

There was a joint discussion between BookKeeper PMC and DistributedLog PPMC
about moving the development of DistributedLog as part of Apache
BookKeeper. The reasons behind it are:

First, DistributedLog is born as an extension to BookKeeper, to offer
continuous log streams as the service. The ledger API in bookkeeper is a
lower level API and has learning curves, while the log stream API in
distributedlog is a higher level API that simplifies the usage. The
combination of ledger API and stream API would offer a better
developer/user experience for applications.

Secondly, using ledgers to build continuous (re-openable) log stream is a
very common pattern for BookKeeper use cases. We did this for HDFS namenode
journal, for Hedwig, for DistributedLog, and for Pulsar. The same pattern
has been implemented again and again. Merge DistributedLog (also
ManagedLedger in Pulsar) with BookKeeper will consolidate all the
development efforts around this common 'log stream' pattern.

Thirdly, the 'log' stream abstraction is a good abstraction for both
messaging and streaming. Internally at BookKeeper, there are a few places
that can use such 'messaging' facility to improve bookkeeper itself. the
log stream in DistributedLog can be used internally at bookkeeper for
streaming changes as well.

We choose merging DistributedLog as subproject rather than modules. It is a
softer starting point to avoid disrupting the folks who are depending on
the ledger api alone. The BookKeeper PMC and DistributedLog PPMC has
achieved initial consensus on this merge. There is an official VOTE ongoing
in bookkeeper PMC. We'd like to bring this to the distributedlog community
for a community vote following the guidelines here
<http://incubator.apache.org/guides/graduation.html#subproject>.

Please vote +1 if in favor of merging DistributedLog to BookKeeper, and -1
if not. The vote will be open until Tuesday 13rd June, 18:00 PST.

- Sijie

Reply via email to