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

Sudeep Sunthankar commented on HBASE-16489:
-------------------------------------------

Thanks for the feedback [~enis].

--- You are correct. std::optional is an upcoming feature in C++17, so we are 
using boost::optional. We can use std::experimental::optional, but I thought 
boost::optional would be a tried and tested API so used it instead. I will 
change it
--- Get(const std::string &key) method is clearly defined to return an empty 
string only if the property is not found. The idea was to  perform variable 
expansion only If the value returned has a size > 0, else we can return the 
default value. This method is also the basis of GetInt(), GetLong(), 
GetDouble() and GetBool(). I will change it to use optionals instead.
--- HBaseConfiguration is not aware of any SeachPaths, Resources etc. It just 
passes the arguments to ConfigurationLoader. I wanted to hide the internals of 
ConfigurationLoader from the user, so made ConfigurationLoader a friend of 
HBaseConfiguration and not exposed it to the user. 

-- Thanks

> Configuration parsing
> ---------------------
>
>                 Key: HBASE-16489
>                 URL: https://issues.apache.org/jira/browse/HBASE-16489
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Sudeep Sunthankar
>            Assignee: Sudeep Sunthankar
>         Attachments: HBASE-16489.HBASE-14850.v1.patch, 
> HBASE-16489.HBASE-14850.v2.patch, HBASE-16489.HBASE-14850.v3.patch
>
>
> Reading hbase-site.xml is required to read various properties viz. 
> zookeeper-quorum, client retires etc.  We can either use Apache Xerces or 
> Boost libraries.



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

Reply via email to