hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matteo Bertozzi (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-7365) Safer table creation and deletion using .tmp dir
Date Tue, 05 Feb 2013 16:34:11 GMT

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

Matteo Bertozzi commented on HBASE-7365:
----------------------------------------

Not sure about the 3rd point? how should that work? the problem is that once you've moved
to .tmp for the client you're done, but you're still archiving files. And there's a test that
relies on the deleteTable() to be sync and check for the files to be archived.

I prefer the 2nd one because I don't like adding to another place the fancy double check original
+ temp only because we have a bad fs layout. Also the client already communicate with zookeeper
for other operations (e.g. -ROOT-).
                
> Safer table creation and deletion using .tmp dir
> ------------------------------------------------
>
>                 Key: HBASE-7365
>                 URL: https://issues.apache.org/jira/browse/HBASE-7365
>             Project: HBase
>          Issue Type: Improvement
>          Components: master
>            Reporter: Matteo Bertozzi
>            Assignee: Matteo Bertozzi
>             Fix For: 0.96.0
>
>         Attachments: 7365-v4.patch, HBASE-7365-v0.patch, HBASE-7365-v1.patch, HBASE-7365-v2.patch,
HBASE-7365-v3.patch
>
>
> Currently tables are created in the root directory, and the removal works on the root
directory.
> Change the code to use a /hbase/.tmp directory to make the creation and removal a bit
safer
> Table Creation steps
>  * Create the table descriptor (table folder, in /hbase/.tmp/)
>  * Create the table regions (always in temp)
>  * Move the table from temp to the root folder
>  * Add the regions to meta
>  * Trigger assignment
>  * Set enable flag in ZooKeeper
> Table Deletion steps
>  * Wait for regions in transition
>  * Remove regions from meta (use bulk delete)
>  * Move the table in /hbase/.tmp
>  * Remove the table from the descriptor cache
>  * Remove table from zookeeper
>  * Archive the table
> The main changes in the current code are:
>  * Writing to /hbase/.tmp and then rename
>  * using bulk delete in DeletionTableHandler

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

Mime
View raw message