This is an automated email from the ASF dual-hosted git repository.

sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bookkeeper.git


The following commit(s) were added to refs/heads/master by this push:
     new d06fad2  BP-26: Move the development of distributedlog library to 
bookkeeper
d06fad2 is described below

commit d06fad25d82a504bc46c906b5c23b5634567d543
Author: Sijie Guo <[email protected]>
AuthorDate: Fri Jan 26 11:01:58 2018 -0800

    BP-26: Move the development of distributedlog library to bookkeeper
    
    Descriptions of the changes in this PR:
    
    This is a BP proposing moving the development of distributedlog library to 
bookkeeper. See details in the BP file.
    
    Master Issue: #1024
    
    Author: Sijie Guo <[email protected]>
    
    Reviewers: Henry Saputra <[email protected]>, Matteo Merli 
<[email protected]>, Dave Rusek <[email protected]>, Ivan Kelly 
<[email protected]>, Enrico Olivelli <[email protected]>, Jia Zhai <None>, 
Sijie Guo <[email protected]>, Yiming Zang <[email protected]>
    
    This closes #1025 from sijie/bp_move_distributedlog
---
 site/bps/BP-26-move-distributedlog-core-library.md | 62 ++++++++++++++++++++++
 site/community/bookkeeper_proposals.md             |  3 +-
 2 files changed, 64 insertions(+), 1 deletion(-)

diff --git a/site/bps/BP-26-move-distributedlog-core-library.md 
b/site/bps/BP-26-move-distributedlog-core-library.md
new file mode 100644
index 0000000..6cf646a
--- /dev/null
+++ b/site/bps/BP-26-move-distributedlog-core-library.md
@@ -0,0 +1,62 @@
+---
+title: "BP-26: Move distributedlog library as part of bookkeeper"
+issue: https://github.com/apache/bookkeeper/1024
+state: 'Accepted'
+release: "N/A"
+---
+
+### Motivation
+
+DistributedLog is an extension of Apache BookKeeper, which offers *reopenable* 
log streams as its storage primitives.
+It is tightly built over bookkeeper ledgers, and provides an easier-to-use 
abstraction and api to use. Applications
+can use *named* log streams rather than *numbered* ledgers to store their 
data. For example, users can use log streams
+as files to storge objects, checkpoints and other more general filesystem 
related use cases.
+
+Moving the distributedlog core library as part of bookkeeper would have 
following benefits:
+
+- It provides more generic "reopenable" log abstraction. It lowers the barrier 
for people to use bookkeeper to store
+  data, and bring in more use cases into bookkeeper ecosystem.
+- Using ledgers to build continous log stream has been a pattern that been 
reimplemented multiple times at multiple places,
+  from older projects like HDFS namenode log manager, Hedwig to the newer 
projects like DistributedLog and Pulsar.
+- Most of the distributedlog usage is using the distributedlog library which 
only depends Apache BookKeeper and there is no
+  additional components introduced. To simplify those usages, it is better to 
release distributedlog library along with
+  bookkeeper. It provides a better integration and release procedure.
+
+This proposal proposes "moving the distributedlog library code base as part of 
bookkeeper and continuing the library
+development in bookkeeper".
+
+### Public Interfaces
+
+This is a new library moved in bookkeeper. It will *NOT* touch any existing 
bookkeeper modules and ledger api.
+
+### Proposed Changes
+
+This proposal will *ONLY* move following library-only modules from 
distributedlog repo:
+
+- distributedlog-core: the log stream library that build over bookkeeper ledgr 
api. It doesn't introduce any service components. Library only.
+- distributedlog-io/dlfs: A hdfs filesystem api wrapper over the log stream 
api, to provide filesystem-like usage over bookkeeper.
+
+This proposal will *NOT* move other service components like 
"distributedlog-proxy".
+
+The steps to make this change are described as following:
+
+- the proposed modules (`distributedlog-core` and `distributedlog-io/dlfs`) 
will be moved under `stream/distributedlog` directory at apache bookkeeper repo.
+- a new "stream" profile will be added to the root `pom.xml` file. The 
distributedlog module will only be build when "-Pstream" is specified
+  in the maven build command. This allows users who only use ledger api skip 
building distributedlog module.
+- the distributedlog api, javadoc api and some tutorials will be integrated 
with current bookkeeper website to provide integrated experiences
+  when users browse bookkeeper website.
+
+### Compatibility, Deprecation, and Migration Plan
+
+This doesn't change existing modules or api. so no compatibility, deprecation 
and migration plan for bookkeeper users.
+
+For distributedlog users, the distributedlog library will begin release under 
groupId `org.apache.bookkeeper` instead of `org.apache.distributedlog`.
+API documentation will be updated to reflect this.
+
+### Test Plan
+
+N/A
+
+### Rejected Alternatives
+
+N/A
diff --git a/site/community/bookkeeper_proposals.md 
b/site/community/bookkeeper_proposals.md
index 672169c..608483a 100644
--- a/site/community/bookkeeper_proposals.md
+++ b/site/community/bookkeeper_proposals.md
@@ -85,7 +85,7 @@ using Google Doc.
 
 This section lists all the _bookkeeper proposals_ made to BookKeeper.
 
-*Next Proposal Number: 26*
+*Next Proposal Number: 27*
 
 ### Inprogress
 
@@ -97,6 +97,7 @@ Proposal | State
 [BP-14 Relax 
durability](https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-14+Relax+durability)
 | Accepted
 [BP-16: Thin Client - Remove direct metadata storage access from 
clients](https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-16%3A+Thin+Client+-+Remove+direct+metadata+storage+access+from+clients)
 | Draft
 [BP-18: LedgerType, Flags and 
StorageHints](https://cwiki.apache.org/confluence/display/BOOKKEEPER/BP-18%3A+LedgerType%2C+Flags+and+StorageHints)
 | Accepted
+[BP-26: Move distributedlog library as part of 
bookkeeper](../../bps/BP-26-move-distributedlog-core-library) | Accepted
 
 
 ### Adopted

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to