[
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)