helix icon indicating copy to clipboard operation
helix copied to clipboard

Inconsistent behavior in getIdealAssignmentForFullAuto and getImmediateAssignmentForWagedFullAuto -- delayed rebalance

Open xyuanlu opened this issue 3 years ago • 2 comments

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 avatar Aug 25 '21 00:08 xyuanlu

@xyuanlu this issue has been resolved by the attached PR, right?

jiajunwang avatar Aug 31 '21 17:08 jiajunwang

@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.

xyuanlu avatar Aug 31 '21 22:08 xyuanlu