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

Matteo Bertozzi commented on HBASE-8288:
----------------------------------------

I'm +1 on the idea, but why you still have the "conf" arg to each function?

The only problem that I see is that in a test I want to start a cluster with 
the dfs retries = X. In this case my value is ignored because you use the 
hbase-*.xml.

It should be fine in a normal situation since the server is started by the 
external script and no one should change the conf object, but test values are 
ignored.

If instead of calling HBaseConfig.create() you introduce a singleton on the 
configuration, as you have mentioned time ago, the test can set the 
configuration and the HBaseFileSystem will pickup the singleton conf that will 
contains the hbase-*.xml + the "test" config.

It's more work and maybe a more intrusive change, so I'm ok to have it in 
another jira and commit this one as initial version since the "problem" is just 
related to the tests.
                
> HBaseFileSystem: Refactoring and correct semantics for createPath methods
> -------------------------------------------------------------------------
>
>                 Key: HBASE-8288
>                 URL: https://issues.apache.org/jira/browse/HBASE-8288
>             Project: HBase
>          Issue Type: Bug
>          Components: Filesystem Integration
>    Affects Versions: 0.94.6
>            Reporter: Himanshu Vashishtha
>            Assignee: Himanshu Vashishtha
>             Fix For: 0.94.7
>
>         Attachments: HBase-8288-v1.patch
>
>
> This jira is for two issues I see in the HBaseFileSystem class:
> 1) Load testing on a 7 node cluster using ycsb insert workload shows that 
> static initialization of conf properties results in a slightly better 
> throughput. Though the initialization uses HBaseConfiguration.create() call 
> which is expensive (and I tried to avoid that in its first version), this 
> class is used for most of the filesystem class, and had to invoke an 
> additional checkAndSetXX call before making the fs call because it is not 
> certain whether the retry properties are set or not. Having initialize them 
> in static block removes that limitation.
> 2) Correct semantics for CreatePathXXX method. In case the overwrite flag is 
> false and file already exists, underlying fs throws an exception. It should 
> be re-thrown to the caller.

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