The Apache Helix team would like to announce the release of Apache Helix 0.6.2-incubating

This is the third release under the Apache umbrella.

Helix is a generic cluster management framework used for the automatic management of partitioned, replicated and distributed resources hosted on a cluster of nodes. Helix provides the following features:

  • Automatic assignment of resource/partition to nodes
  • Node failure detection and recovery
  • Dynamic addition of Resources
  • Dynamic addition of nodes to the cluster
  • Pluggable distributed state machine to manage the state of a resource via state transitions
  • Automatic load balancing and throttling of transitions



  • [HELIX-28] - ZkHelixManager.handleNewSession() can happen when a liveinstance already exists
  • [HELIX-85] - Remove mock service module
  • [HELIX-106] - Remove all string constants in the code
  • [HELIX-107] - Add support to set custom objects into ZNRecord
  • [HELIX-124] - race condition in ZkHelixManager.handleNewSession()
  • [HELIX-165] - Add dependency for Guava libraries
  • [HELIX-169] - Take care of consecutive handleNewSession() and session expiry during handleNewSession()
  • [HELIX-170] - HelixManager#isLeader() should compare both instanceName and sessionId
  • [HELIX-195] - Race condition between FINALIZE callbacks and Zk Callbacks
  • [HELIX-207] - Add javadocs to classes and public methods in the top-level package
  • [HELIX-208] - Add javadocs to classes and public methods in the model package
  • [HELIX-277] - FULL_AUTO rebalancer should not prefer nodes that are just coming up


  • [HELIX-7] - Tune test parameters to fix random test failures
  • [HELIX-87] - Bad repository links in website
  • [HELIX-117] - backward incompatibility problem in accessing zkPath vis HelixWebAdmin
  • [HELIX-118] - PropertyStore -> HelixPropertyStore backwards incompatible location
  • [HELIX-119] - HelixManager serializer no longer needs ByteArraySerializer for /PROPERTYSTORE
  • [HELIX-129] - ZKDumper should use byte[] instead of String to read/write file/zk
  • [HELIX-131] - Connection timeout not set while connecting to zookeeper via zkHelixAdmin
  • [HELIX-133] - Cluster-admin command parsing does not work with removeConfig
  • [HELIX-140] - In, the removeConfig is wrong wired to getConfig
  • [HELIX-141] - Autorebalance does not work reliably and fails when replica>1
  • [HELIX-144] - Need to validate StateModelDefinition when adding new StateModelDefinition to Cluster
  • [HELIX-147] - Fix typo in Idealstate property max_partitions_per_instance
  • [HELIX-148] - Current preferred placement for auto rebalace is suboptimal for n > p
  • [HELIX-150] - Auto rebalance might not evenly distribute states across nodes
  • [HELIX-151] - Auto rebalance doesn't assign some replicas when other nodes could make room
  • [HELIX-153] - Auto rebalance tester uses the returned map fields, but production uses only list fields
  • [HELIX-155] - PropertyKey.instances() is wrongly wired to CONFIG type instead of INSTANCES type
  • [HELIX-197] - state model leak
  • [HELIX-199] - ZNRecord should not publish rawPayload unless it exists
  • [HELIX-216] - Allow HelixAdmin addResource to accept the old rebalancing types
  • [HELIX-221] - Can't find default error->dropped transition method using name convention
  • [HELIX-257] - Upgrade Restlet to 2.1.4 - due security flaw
  • [HELIX-258] - Upgrade Apache Camel due to CVE-2013-4330
  • [HELIX-264] - fix zkclient#close() bug
  • [HELIX-279] - Apply gc handling fixes to main ZKHelixManager class
  • [HELIX-280] - Full auto rebalancer should check for resource tag first
  • [HELIX-288] - helix-core uses an old version of guava
  • [HELIX-299] - Some files in 0.6.2 are missing license headers


  • [HELIX-20] - AUTO-REBALANCE helix controller should re-assign disabled partitions on a node to other available nodes
  • [HELIX-70] - Make Helix OSGi ready
  • [HELIX-149] - Allow clients to pass in preferred placement strategies
  • [HELIX-198] - Unify helix code style
  • [HELIX-218] - Add a reviewboard submission script
  • [HELIX-284] - Support participant auto join in YAML cluster setup

New Feature

  • [HELIX-215] - Allow setting up the cluster with a YAML file


  • [HELIX-95] - Tracker for 0.6.2 release
  • [HELIX-154] - Auto rebalance algorithm should not depend on state
  • [HELIX-166] - Rename modes to auto, semi-auto, and custom
  • [HELIX-173] - Move rebalancing strategies to separate classes that implement the Rebalancer interface
  • [HELIX-188] - Add admin command line / REST API documentations
  • [HELIX-194] - ZNRecord has too many constructors
  • [HELIX-205] - Have user-defined rebalancers use RebalanceMode.USER_DEFINED
  • [HELIX-210] - Add support to set data with expect version in BaseDataAccessor
  • [HELIX-217] - Remove mock service module
  • [HELIX-273] - Rebalancer interface should remain unchanged in 0.6.2
  • [HELIX-274] - Verify FULL_AUTO tagged node behavior
  • [HELIX-285] - add integration test util's

Cheers, -- The Apache Helix Team

Back to top

Reflow Maven skin by Andrius Velykis.

Apache Helix, Apache, the Apache feather logo, and the Apache Helix project logos are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
Privacy Policy