Release Notes for Apache Helix 1.0.2
The Apache Helix team would like to announce the release of Apache Helix 1.0.2.
This is the tweenty second release under the Apache umbrella, and the eighteenth 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.
In this release, Helix provides several performance improvements for rebalance pipeline:
Key Note for Helix Release
Task Current State Migration
Helix tried to move the task current state out of the existing current state folder. That could be help isolating the traffic and callback fan out to the clients, which are not interested with tasks.
Dynamic Task Add/Delete
This new feature helps the long running job queues can dynamically add/delete jobs without pause the queue to avoid the cancelling existing jobs.
WAGED rebalancer improvements
Improvements we have done for WAGED are:
- Weight-aware evenly distribute top state replicas.
- Gracefully handle large partitions to prevent rebalance failure by properly sorting.
- Design the workflow to enforce baseline convergency to unblock the stuck rebalance.
Detailed Changes
Bug Fixes
- Remove a potential deadlock when shutting down a RoutingTableProvider. (#1751)
- Improve auto enter maintenance mode (#1650)
- Fix the IdealStateBuilder to set the correct instance group tag. (#1607)
- Fix targeted job quota calculation for given up tasks (#1548)
- Fix periodicalRebalanceExecutor (#1544)
- Double check if the HelixTaskExecutor is shutting down before make Partition in ERROR state when schedule task fails. (#1515)
Improvements
- Use 1 min sliding window size for Helix rest metrics (#1749)
- Correct getAssignmentForWagedFullAutoImpl snapshot behavior (#1730)
- Improve WAGED simulation API by throwing exception on FAILED_TO_CALCULATE (#1701)
- Disable CORS by default in Helix REST (#1705)
- Validate data write size limit in ZkClient (#1072)
- Prevent parallel controller pipelines run causing two master replicas (#1066)
- Catch exception in group commit (#1441)
- Clarify error for ZkSessionMismatchedException in ZkAsyncCallbacks (#1718)