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
