title: Apache DistributedLog 0.5.0 Release Notes

This is the second Apache release of DistributedLog and the first release as a sub-project of Apache BookKeeper!

The 0.5.0 release upgrades BookKeeper from Twitter 4.3.7-TWTTR-OSS version to the official Apache 4.5.0 version. It is a big milestone in Apache BookKeeper & DistributedLog community, converging the development efforts for both communities and moving the DistributedLog development on the official Apache bookkeeper release.

Apache DistributedLog users are encouraged to upgrade to 0.5.0. The technical details of this release are summarized below.

Highlights

BookKeeper Version Upgrade

The main change in 0.5.0 is BookKeeper version upgrade. We upgraded the BookKeeper version from Twitter‘s 4.3.7-TWTTR-OSS to the official Apache BookKeeper 4.5.0 version. This upgrade brings in BookKeeper security feature and performance improvement (such as netty 4 upgrade). The upgrade should be straightforward, because there isn’t any backward compatible issue.

Change Twitter Future to Java Future

Prior to 0.5.0, the DistributedLog API heavily depends on Twitter Future library and other scala dependency. In 0.5.0, we change the twitter future API to a separate module and replace the core API with Java8 CompletableFuture. It reduces the dependencies introduced by Scala and also avoid maintaining multiple versions for different scala versions.

Better buffer/memory management

After upgrading to BookKeeper 4.5.0, we update the buffer and memory management in DistributedLog to leverage netty's buffer management. It reduces object allocation, memory copies and improves the latency because less jvm garbage is produced.

Full list of changes

JIRA

####Sub-task

####Bug

####Improvement

####Task

Github