[
https://issues.apache.org/jira/browse/HBASE-26147?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17389878#comment-17389878
]
Bryan Beaudreault commented on HBASE-26147:
-------------------------------------------
[~rda3mon]
For 1, I thought about building upon the existing balancer command. I decided
against it for a couple reasons, which I'm happy to hear other opinions on:
* I wasn't sure if we wanted to try to mirror Admin interface a bit, where the
command is called dryRunBalance()
* I personally prefer the more explicit syntax of having a separate command,
as it's more discoverable and intuitive as an operator than string args
* Above we've discussed ways in which we could build upon dry run mode, for
example allow passing cost function overrides. I think that'd be easier with a
separate command.
In terms of Admin#dryRunBalance() vs Admin#balance(...) I felt like there were
already lots of overloads of balance/balancer/etc, between deprecations and the
force boolean. I think an ideal interface might include a RunMode enum, like I
added internal to the HMaster. I didn't want to add another overload for that.
Additionally, for the same reason as above if we decided to add on-demand
config overrides for dry run mode that'd be a lot more straightforward with a
separate command.
Let me know if you still think it makes sense to have a single command.
For 2, I'll take a look at rsgroup later today. I didn't realize there was a
different implementation for it.
> Add dry run mode to hbase balancer
> ----------------------------------
>
> Key: HBASE-26147
> URL: https://issues.apache.org/jira/browse/HBASE-26147
> Project: HBase
> Issue Type: Improvement
> Components: Balancer, master
> Reporter: Bryan Beaudreault
> Assignee: Bryan Beaudreault
> Priority: Major
>
> It's often rather hard to know how the cost function changes you're making
> will affect the balance of the cluster, and currently the only way to know is
> to run it. If the cost decisions are not good, you may have just moved many
> regions towards a non-ideal balance. Region moves themselves are not free for
> clients, and the resulting balance may cause a regression.
> We should add a mode to the balancer so that it can be invoked without
> actually executing any plans. This will allow an administrator to iterate on
> their cost functions and used the balancer's logging to see how their changes
> would affect the cluster.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)