The Apache Helix team would like to announce the release of Apache Helix 0.6.4.

This is the sixth release under the Apache umbrella, and the second as a top-level project.

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

Changes

Sub-task

  • [HELIX-171] - handleNewSession() should wait on all left-over tasks to be cancelled successfully before start new session
  • [HELIX-178] - Flapping detection
  • [HELIX-353] - Write an independent task rebalancer
  • [HELIX-417] - Support arbitrary-named target partitions in the task framework
  • [HELIX-422] - Simplify creation of single jobs
  • [HELIX-437] - Configurations at task, job, and cluster level
  • [HELIX-438] - Improve task framework retry logic
  • [HELIX-439] - Support thresholding for job success/failure
  • [HELIX-440] - Add scheduling layer to task framework
  • [HELIX-455] - Add REST API for submitting jobs
  • [HELIX-459] - Job context should include the instance that completed the job
  • [HELIX-460] - Add back healthcheck interfaces for compatibility
  • [HELIX-468] - TaskDriver list should be more robust
  • [HELIX-482] - Support "smarter" task failure strategies
  • [HELIX-492] - Task should be its own rebalance mode
  • [HELIX-497] - Support named queues of jobs
  • [HELIX-506] - Ensure that tasks are not placed on targets with pending transitions

Bug

  • [HELIX-132] - current-state and external-view are not cleaned up when a resource has been removed
  • [HELIX-350] - cluster status monitor should not be reset in FINALIZE type pipeline
  • [HELIX-394] - Shutdown GenericHelixController#_eventThread when HelixManager disconnects
  • [HELIX-395] - Remove old Helix alert/stat modules
  • [HELIX-413] - ClusterStateVerifier should always return true if called with 0 resources
  • [HELIX-423] - Code duplication in controller leader election
  • [HELIX-425] - 0.7 does not honor partition transition throttling correctly
  • [HELIX-429] - Upgrade restlet to 2.2.0
  • [HELIX-430] - Restlet 2.2.0 causes failures
  • [HELIX-433] - Untagging may fail in FULL_AUTO mode
  • [HELIX-443] - Race condition in Helix register/unregister MessageHandlerFactory
  • [HELIX-445] - NPE in ZkPathDataDumpTask
  • [HELIX-448] - Call onCallback for CustomCodeCallbackHandler for FINALIZE type
  • [HELIX-453] - On session expiry/recovery, not all message types are re-registered
  • [HELIX-464] - rabbitmq recipe is broken
  • [HELIX-465] - ZkCopy skips paths already exist in destination namespace
  • [HELIX-466] - Speed up zkcopy by using asyn read/write
  • [HELIX-471] - ResourceMonitor never unregistered even if the resource is dropped
  • [HELIX-472] - Errors should be cleaned up less frequently
  • [HELIX-476] - ZNRecordStreamingSerializer.deserialize throw NullPointerException when 'id' property is not the first item in JSON
  • [HELIX-491] - ZKHelixManager#waitUntilConnected() bug
  • [HELIX-495] - TestPreferenceListAsQueue is flaky

Improvement

  • [HELIX-426] - 0.6 doesn't support partition constraints
  • [HELIX-444] - add per-participant partition count gauges to helix
  • [HELIX-446] - Remove ZkPropertyTransfer and restlet dependency from helix-core
  • [HELIX-452] - Increase frequency of status update cleanup

New Feature

  • [HELIX-130] - ZkDumper should provide a copy option
  • [HELIX-245] - New Recipe: Auto-Scaling with Apache Helix and Apache Hadoop YARN
  • [HELIX-336] - Add support for task framework
  • [HELIX-461] - Add a partitions without top state metric
  • [HELIX-463] - Add gauges for participant and controller message queue sizes

Task

  • [HELIX-427] - Write a test for using preference lists as execution queues

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