| ----- |
| Release Notes for Apache Helix 0.6.8 |
| ----- |
| |
| ~~ Licensed to the Apache Software Foundation (ASF) under one |
| ~~ or more contributor license agreements. See the NOTICE file |
| ~~ distributed with this work for additional information |
| ~~ regarding copyright ownership. The ASF licenses this file |
| ~~ to you under the Apache License, Version 2.0 (the |
| ~~ "License"); you may not use this file except in compliance |
| ~~ with the License. You may obtain a copy of the License at |
| ~~ |
| ~~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~~ |
| ~~ Unless required by applicable law or agreed to in writing, |
| ~~ software distributed under the License is distributed on an |
| ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ~~ KIND, either express or implied. See the License for the |
| ~~ specific language governing permissions and limitations |
| ~~ under the License. |
| |
| ~~ NOTE: For help with the syntax of this file, see: |
| ~~ http://maven.apache.org/guides/mini/guide-apt-format.html |
| |
| Release Notes for Apache Helix 0.6.8 |
| |
| The Apache Helix team would like to announce the release of Apache Helix 0.6.8. |
| |
| This is the eleventh release under the Apache umbrella, and the seventh 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 |
| |
| [] |
| |
| * Detailed Changes |
| |
| ** Feature |
| |
| * [Helix-656] Support customize batch state transition thread pool. |
| |
| * Support cancel tasks with synchronized check task status. |
| |
| * Add support of setting/updating Cluster/Resource/Instance configs in ConfigAccessor. |
| |
| * Add cluster-level and resource-level config option to allow disable delayed rebalance of entire cluster or individual resource. |
| |
| * New DelayedAutoRebalancer featured with delayed partition movements during rebalancing. |
| |
| * Add support for flexible hirerachy representation of a cluster topology. |
| |
| * Add StrictMatchExternalViewVerifier that verifies whether the ExternalViews of given resources (or all resources in the cluster) match exactly as its ideal mapping (in idealstate). |
| |
| * Add Multi-round CRUSH rebalance strategy. |
| |
| * Add option to allow persisting best possible partition assignment in IdealState for semi-auto and full-auto modes. |
| |
| * Support of client's customized threadpool for state-transition message handling. |
| |
| * Support delaying jobs schedule with configurable delay time and start time |
| |
| |
| ** Bug |
| |
| * [HELIX-657] Fix unexpected idealstate overwrite when persist assignment is on. |
| |
| * [HELIX-631] Fix AutoRebalanceStrategy replica not assigned. |
| |
| * [HELIX-653] Fix enable/disable partition in instances for resource specific. |
| |
| * Make map in NotificationContext synchronized. |
| |
| * Fix bug in AutoRebalanceStrategy to try to assign orphan replicas to its preferred nodes instead of random nodes. |
| |
| * Fix a bug in BestPossibleExternalViewVerifier. |
| |
| * Fix BestPossibleExternalViewVerifier toString NPE. |
| |
| * Do not set MaxPartitionPerNode in IdealState if it is not greater than 0. |
| |
| |
| ** Improvement |
| |
| * [HELIX-660] Configurable operation timeout for Helix ZKClient. |
| |
| * Allow user to enable persisting preference list and best possible state map into IdealState in full-auto mode. |
| |
| * Expose Callbacks that can let async operation of ZkClient function. |
| |
| * Creating a separate threadpool to handle batchMessages. |
| |
| * Auto compress ZNode that are greater than 1MB. |
| |
| * Ignore instances with no instance configuration. |
| |
| * Avoid moving partitions unnecessarily when auto-rebalancing using default AutoRebalanceStrategy. |
| |
| * Move all options from IdealState to ResourceConfig, add Bulder for building ResourceConfig, and a new RebalanceConfig to hold all rebalance options for a resource. |
| |
| * Persist controller leader change history with timestamp for each leader controller. |
| |
| * Persist participant's offline timestamp in ParticipantHistory. |
| |
| * Persist session change history with timestamp for each participant. |
| |
| * Make synchronized for AsyncCallback.startTimer to avoid race condition. |
| |
| |
| [] |
| |
| Cheers, |
| -- |
| The Apache Helix Team |