You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Enis Soztutar (JIRA)" <ji...@apache.org> on 2013/03/06 04:12:15 UTC

[jira] [Commented] (HBASE-7806) Isolate the FileSystem calls

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

Enis Soztutar commented on HBASE-7806:
--------------------------------------

Sorry to come in late, but I am a major +1 for this. I have been entertaining storing everything in META route for some time, and it has definite advantages: 
 - No more reference files
 - No more HFileLink hack
 - Copy-on-write table copy/clone
 - Snapshots should be simpler. Plus there will be very little difference between a snapshot vs a copy-on-write table or reference from a region split. We can also do reference this file, but only for these ranges kind of linking. 
 - We would be basically doing hard links, completely on the app layer
                
> Isolate the FileSystem calls
> ----------------------------
>
>                 Key: HBASE-7806
>                 URL: https://issues.apache.org/jira/browse/HBASE-7806
>             Project: HBase
>          Issue Type: Task
>          Components: regionserver
>    Affects Versions: 0.96.0
>            Reporter: Matteo Bertozzi
>            Assignee: Matteo Bertozzi
>            Priority: Minor
>         Attachments: HBASE-7806.pdf
>
>
> Motivations:
> * No way to change the fs layout without touching all the code (and breaking stuff)
> * Each test create is own mocked fs layout: mkdir(region), mkdir(new Path(region, family))
> * new Path(table, region, family, hfile) is everywhere
> * DIR_NAME constants are not in a single place
> * lots of code does a the same for (region.listStatus()) for (family.listStatus()) ...
> Goals:
>  * Central point for all the fs operations
>  ** Make easier the file creation
>  ** Make easier the store files retrival (with proper reference, link handling)
>  * Removing all the new Path() from the code
>  * Removing all the fs.listStatus() from the code
>  * Cleanup the tests to use the new classes of creating mocks object
>  * Reduce the code (in theory there should be less line than before once this refactor is complete)
> Since the fs operations are all over the code, the refactor must be gradual, and step by step limiting the internal fs layout visibility.

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