Release Notes for Apache Helix 0.6.5
The Apache Helix team would like to announce the release of Apache Helix 0.6.5.
This is the eighth release under the Apache umbrella, and the fourth 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
- [HELIX-512] - add back HelixManager#getHealthReportCollector() interface to 0.6.x
- [HELIX-514] - ZkBaseDataAccessor#set() should throw BadVersionException instead of return false in case of version mismatch
- [HELIX-518] - Add integration tests to ensure helix tasks work as expected during master failover
- [HELIX-519] - Add integration tests to ensure that "kill-switch" for Helix tasks work as expected
- [HELIX-521] - Should not start GenericHelixController#ClusterEventProcessor in types other than CONTROLLER and CONTROLLER_PARTICIPANT
- [HELIX-537] - org.apache.helix.task.TaskStateModel should have a shutdown method.
- [HELIX-541] - Possible "livelock" in Helix controller
- [HELIX-547] - AutoRebalancer may not converge in some rare situation
- [HELIX-549] - Discarding Throwable exceptions makes threads unkillable.
- [HELIX-550] - ZKHelixManager does not shutdown GenericHelixController threads.
- [HELIX-552] - StateModelFactory#_stateModelMap should use both resourceName and partitionKey to map a state model
- [HELIX-555] - ClusterStateVerifier leaks ZkClients.
- [HELIX-559] - Helix web admin performance issues
- [HELIX-562] - TaskRebalancer doesn't honor MaxAttemptsPerTask when FailureThreshold is larger than 0
- [HELIX-563] - Throw more meaningful exceptions when AutoRebalanceStrategy#computePartitionAssignment inputs are invalid
- [HELIX-572] - External view is recreated every time for bucketized resource
- [HELIX-574] - fix bucketize resource bug in current state carryover
- [HELIX-575] - Should not send FINALIZED callback when a bucketized resource is removed
- [HELIX-579] - fix ivy files issue
- [HELIX-524] - add getProgress() to Task interface
- [HELIX-570] - Add default state model definitions if not already exists when controller starts
- [HELIX-573] - Add support to compress/uncompress data on ZK
- [HELIX-576] - Make StateModelFactory change backward compatible
- [HELIX-546] - REST Admin APIs needed for helix job queue management
- [HELIX-581] - Support deleting job from a job queue
- [HELIX-539] - Add ivy file for helix-agent
- [HELIX-580] - Fix test: TestBatchMessage#testSubMsgExecutionFail