You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "Enrico Olivelli (JIRA)" <ji...@apache.org> on 2016/08/19 13:24:20 UTC

[jira] [Created] (BOOKKEEPER-942) Clean up Public Client Bootstrap API

Enrico Olivelli created BOOKKEEPER-942:
------------------------------------------

             Summary: Clean up Public Client Bootstrap API
                 Key: BOOKKEEPER-942
                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-942
             Project: Bookkeeper
          Issue Type: Improvement
          Components: bookkeeper-client
    Affects Versions: 4.4.0
            Reporter: Enrico Olivelli
            Assignee: Enrico Olivelli


The idea is to clean up the public client API to be used to bootstrap BookKeeper

The first problem to solve is to define a clear way to create the client, in 4.4.0 there are several constructors and a builder class.
The presence of many constructors is a burden to carry on for all the future versions, it would be better to have only a single way to boostrap the client.

Another minor issue is that from the point of view of a developer which uses BookKeeper client API it is very difficult to decide which API use,

We should also remove from the public API direct dependencies on third party APIs, like Netty 3.x, and maybe from ZooKeeper too.
At the same time we must support the option for the client to reuse existing expensive shared resources (such as ZooKeeper client, or netty3 HashedWheelTimer)

This issue may:
- deprecate existing constructors and BookKeeper.Builder class
- introduce a more future-proof API



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)