Description
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
Attachments
Attachments
Issue Links
- is depended upon by
-
HBASE-7389 HBASE-7365 Snapshot clone/restore followup
- Closed
-
HBASE-7788 [snapshot 130201 merge] Fix flakey TestRestore*SnapshotFromClient#testCloneSnapshot
- Closed