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

Enis Soztutar commented on HBASE-13936:
---------------------------------------

This is interesting work. A couple of comments: 
 - Prefixing 'H' is deprecated. Please refrain from that old pattern. 
 - Showing every possible configuration value to a single class is an 
anti-pattern. HConstants was that, and it went bad. The configurations should 
be defined close to where they are used. 
 - Please take a look at TableConfiguration, and why it was introduced. In a 
lot of places, the configuration parsing becomes the bottleneck especially in 
the hot code paths. Going forward we should only be passing small parsed POJO 
style objects holding the configuration for that specific sub system. A bad 
example is CacheConfig. It holds the defaults, config names, and actual values 
together with the actual Block cache reference. But the idea should be keeping 
the parsing / deprecation handling / business logic and the actual parsed 
values related to a single system together and use that object to pass it 
around. 

> Improve configuration framework
> -------------------------------
>
>                 Key: HBASE-13936
>                 URL: https://issues.apache.org/jira/browse/HBASE-13936
>             Project: HBase
>          Issue Type: Umbrella
>            Reporter: Apekshit Sharma
>         Attachments: DynamicConfigs.v01.docx, design.png
>
>
> Here's the design doc: 
> https://docs.google.com/document/d/1WiO2bqguR2DaVT-J2SZTCONbQ3pEhpbOI_bbLMaXRjE/edit#
> Main changes:
> get*("foo.bar", default_value)  ---> get*(HConfig.FOO_BAR)  // using enums
> Robust framework and better documentation for dynamic configurations.
> Basic overview of new design:
> !design.png!



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

Reply via email to