[ 
https://issues.apache.org/jira/browse/HBASE-15128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15122787#comment-15122787
 ] 

Matteo Bertozzi commented on HBASE-15128:
-----------------------------------------

{quote}The current dynamic configuration we have is more like, change the 
hbase-site.xml, but load it from the daemon without restart. Here, we want to 
be able to change the behavior of some master chores on demand from code. So 
the current dynamic conf framework does not match I think. If we do 
hbase.loadbalancer.enable in configuration, and keep this persisted as a 
dynamic switch somewhere, how do we decide which one is in affect?{quote}
as far as I know we don't have currently a working dynamic configuration. 
we are on the same page that we need something where from the shell or from 
somewhere I update the conf properties i need and then say 
"updateConfProperties()" and that on the server we call all the callback to 
deal with the updates.

There was a jira for the configuration refactor and dynamic configuration 
HBASE-13936, where the goal was having a unified configuration system that can 
be dynamically updated. I don't think we ever discussed how or where to store. 
do you want to use zk, do you want to rewrite the hbase-site.xml, write in a 
table. everything is good to me if we have a single system that allows me to 
update dynamically my configuration. 

in the end, I want enable/disable split/merge, snapshot support, balancer or 
whatever. but I also want to be able to do things like increase the number of 
msec of a retry or the number of handlers or anything that may help changing at 
runtime. 

if we keep two different systems, how do we migrate from something that is 
already a conf property to the "switch" property. with a single system we 
decide one way and we can easily switch the property from "static" to "dynamic" 
just by adding the proper logic to handle the refresh. 
better do this one system now instead of going in a situation where we have a 
lot of properties in two different system. at the moment we have only 3 
properties (catalog, balancer, normalizer) so it will be easier do this now. 

> Disable region splits and merges in HBCK
> ----------------------------------------
>
>                 Key: HBASE-15128
>                 URL: https://issues.apache.org/jira/browse/HBASE-15128
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Enis Soztutar
>            Assignee: Heng Chen
>             Fix For: 2.0.0, 1.3.0
>
>         Attachments: HBASE-15128.patch, HBASE-15128_v1.patch, 
> HBASE-15128_v3.patch
>
>
> In large clusters where region splits are frequent, and HBCK runs take 
> longer, the concurrent splits cause further problems in HBCK since HBCK 
> assumes a static state for the region partition map. We have just seen a case 
> where HBCK undo's a concurrently splitting region causing number of 
> inconsistencies to go up. 
> We can have a mode in master where splits and merges are disabled like the 
> balancer and catalog janitor switches. Master will reject the split requests 
> if regionservers decide to split. This switch can be turned on / off by the 
> admins and also automatically by HBCK while it is running (similar to 
> balancer switch being disabled by HBCK). 
> HBCK  should also disable the Catalog Janitor just in case. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to