Alexey Serbin created KUDU-3199:
-----------------------------------

             Summary: kudu cluster rebalaner: add a flag to ignore all defined 
locations
                 Key: KUDU-3199
                 URL: https://issues.apache.org/jira/browse/KUDU-3199
             Project: Kudu
          Issue Type: Improvement
          Components: CLI
            Reporter: Alexey Serbin


When the location-aware rebalancer was designed, it was assumed that the tool 
should always honor the partitioning of the cluster defined by locations 
whatever the partitioning was.  The only options considered were to run the 
process excluding particular rebalancing phases:
* correction of placement policy violations ({{\-\-disable_policy_fixer}})
* inter-location rebalancing, i.e. rebalancing across different locations 
({{\-\-disable_cross_location_rebalancing}})
* intra-location rebalancing, i.e. rebalancing within a location 
({{\-\-disable_intra_location_rebalancing}})

As it turns out, there are use cases when people want to run the rebalancer on 
a location-aware cluster ignoring the location-awareness specifics.  Those 
cases are:
# The locations are defined by some higher-level cluster orchestration 
software, and people are reluctant to disable the location-awareness for Kudu 
specifically (i.e. providing an alternative script for 
{{\-\-location_mapping_cmd}}), but want to even out the distribution of 
replicas.
# Having just two locations defined for some time.  Even if it's a transitional 
phase (e.g., awaiting for a new zone/rack/datacenter to be added 'soon'), it 
could take some time.

For both cases, there is a workaround if every location has the same number of 
tablet servers: run the rebalancer tool with the {{\-\-disable_policy_fixer}} 
flag.  However, this workaround isn't applicable if there is difference in the 
number of tablet replicas per location, and no combination of flags could make 
the location-aware rebalancer run as it there were no locations defined.

Let's add a new flag for the {{kudu cluster rebalance}} CLI tool to make it run 
on a location-aware cluster as if no locations were defined.  Of course, the 
flag should be  {{off}} by default.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to