This came up in the review for HBASE-15128, but we thought that we should
surface this discussion in dev@.

The idea for HBASE-15128 is that, we should have a dynamic switch in master
so that the operator (or HBCK) can disable all region splits or merges.

We currently have such dynamic switches for balancer and normalizer which
keep their state in zk. We also have a switch for catalog janitor which
keeps its state only in memory (not sure why). For the new switches Heng
Chen implemented a "set_switch" RPC to master, a switch type, a zk node.
The idea is to move balancer, catalog janitor and normalizer switches to
this after this patch.

However, Matteo raised a point about this framework being an alternative
way of doing dynamic configuration. The problem is that we do not have a
dynamic conf framework that we can piggyback on, and since balancer and
other switches already work this way, it does not make sense to block the
issue. What do you guys think? If we want to implement dynamic conf, how
would we handle things like enabling / disabling balancer from conf and or
from code? Any good ideas?

Enis

Reply via email to