helix
helix copied to clipboard
Inconsistent behavior in getIdealAssignmentForFullAuto and getImmediateAssignmentForWagedFullAuto -- delayed rebalance
Is your feature request related to a problem? Please describe. Helix has 2 functions to return potential cluster partition assignment for any cluster state change. getIdealAssignmentForFullAuto for ChrushEd resources and getImmediateAssignmentForWagedFullAuto for Waged resources. When recomputing assignment, getIdealAssignmentForFullAuto will not consider delayed rebalance and return the assignment. However, getImmediateAssignmentForWagedFullAuto will honor the current timestamp and the delayed rebalance setting. In rest API partitionAssignment is a single enter point for cluster assignment, it called these 2 functions for different resource types. The behavior is inconsistent for these two.
Describe the solution you'd like For now, We are disabling delayed rebalance for partitionAssignment. Could add a cluster option to honor delayed rebalance window in the future.
@xyuanlu this issue has been resolved by the attached PR, right?
@xyuanlu this issue has been resolved by the attached PR, right?
Not really... these 2 APIs in HelixUtil still have inconsistent behavior. The change in PR only resolve the inconsistent in PartitionAssignment API.