You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@helix.apache.org by Hunter Lee <hu...@apache.org> on 2020/02/05 18:57:24 UTC

Re: Review and try out new modules (helix-common and zookeeper-api)

Since I haven't heard back from anyone for some time, I'll go ahead with
the merge/review. Migration guide has been updated and published in the
GitHub wiki.

Hunter

On Wed, Jan 29, 2020 at 7:30 PM Hunter Lee <hu...@apache.org> wrote:

> Hi Helix users and devs-
>
> I sent out an email describing the separation of ZkClient into a separate
> module a few weeks ago and would like to follow up.
>
> I am currently getting https://github.com/apache/helix/pull/684 reviewed.
> Here is the changelist:
> 1. Remove IOItec import
> 2. Create helix-common to resolve circular dependencies
> 3. Create zookeeper-api
>
> This should be pretty straightforward since there is no change in logic.
>
> Here is the *migration guide*:
> 1. All the classes in helix-common kept the same package structure they
> had in helix-core, so there should be no code change required.
> 2. For ZK-related classes, most of them are *backported* by way of
> subclassing. But if you used IOItec classes explicitly, you'll need to fix
> the imports (because we no longer import IOItec!). Do the following:
>
> Find-replace in your project:
> - org.I0Itec -> org.apache.helix.zookeeper.api
> E.g.)
> import org.I0Itec.zkclient.ZkServer;
> becomes
> import org.apache.helix.zookeeper.api.zkclient.ZkServer;
>
> I've tested binary level compatibility with some production-level
> codebases (at LinkedIn) and haven't come across any major problems. If
> deemed good, this change will probably be included in the next major
> release.
>
> Please review this change and let me know if you have any issues using it
> in your projects.
>
> Hunter
>