Release Notes for Apache Helix 1.4.0
The Apache Helix team would like to announce the release of Apache Helix 1.4.0.
This is the thirty release under the Apache umbrella, and the twenty sixth 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
- Better support for instance operations
- Introduce instance operation concept instead of simple enable/disable including: evacuate, swap, unknown and so on.
- Keep old APIs backward compatible but add a new API set for new operation support.
- Support the cross-zone-based stoppable check.
- Sunset helix-front and helix-webadmin module
- Skip generate release for helix-front and helix-webadmin module.
- Will remove the code module for next release.
- Stability enhancements
- Support JDK-8 backward compatibility.
- Flaky tests fix and stabilize the CI pipelines.
Detailed Changes
- Bug Fixes
- Prevent MetaClient LeaderElectionClient isLeader NPE before joining pool (#2798)
- [apache/helix] -- Issue during onboarding resources without instances (#2782)
- Fix BestPossibleExternalViewVerifier to use a ZkClient that has the serializer set to ByteArraySerializer (#2776)
- Fix helix-lock regression (#2698)
- Fix /partitionAssignmentAPI and WAGED rebalancer finalMapping results matching (#2739)
- Fix condition to check if DOMAIN has all required TOPOLOGY keys and allows for extra kv pairs, to reduce noisy logs. (#2688)
- [apache/helix] -- Fixes #2638, Improve Hard Constraint Failure Debuggability by adding details in the error message (#2639)
- Fix partitionAssignment NPE when no resource configs (#2653)
- Fix NPE in intermediate state calculation stage (#2668)
- Improvements
- [apache/helix] -- Add SetPartitionToError for participants to self annotate a node to ERROR state (#2792)
- Support Simple Greedy Rebalance Strategy (#2758)
- Allow partitionAssignment API in maintenance mode (#2742)
- Updating the Github CI/CD actions to have automated unit tests reporting.. (#2727)
- [apache/helix] -- Handling Throwable during Helix message processing (#2730)
- Open Add NPR guard when reading instance config - Race when reading config while adding/removing instance (#2669)
- Add _deserializedPartitionCapacityMap to ResourceConfig model to ensure that the partition capacity map is only deserialized one time (#2657)