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

Sergey Shelukhin commented on HBASE-7049:
-----------------------------------------

There's also a design option here.
The current approach is the patch is an explicit admin command that is 
propagated to all the requisite objects and causes them to re-read the 
configuration they are interested in from disk.
I personally prefer the approach where the act of replacing the file (or adding 
an override file) would cause the service configuration to be automatically 
updated inside the configuration object itself.
One never caches values from config during init; config object does that on 
init/first request for a value (and on config file change); thus, the code 
instead calls conf.getLong("MyCoolValue") every time (or for one method 
call/one compaction/one request/...), and gets the recent value.
For special cases, it's easy to add mechanism to get several values atomically, 
and for the most special case to add the change callback.
This avoids adding the code to propagate config to places/handling updates in 
code, and avoids the non-atomicity of copying the files and then updating 
config via admin command.

I wonder if there are opinions for either approach?
                
> add dynamic configuration update mechanism
> ------------------------------------------
>
>                 Key: HBASE-7049
>                 URL: https://issues.apache.org/jira/browse/HBASE-7049
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 0.96.0
>            Reporter: Sergey Shelukhin
>            Assignee: Sergey Shelukhin
>
> Initial draft will be modeled on 0.89-fb changes; see HBASE-6371

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to