hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Liu Shaohui (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-12542) Delete a family of table online will crash regionserver
Date Thu, 20 Nov 2014 04:32:34 GMT
Liu Shaohui created HBASE-12542:
-----------------------------------

             Summary: Delete a family of table online will crash regionserver 
                 Key: HBASE-12542
                 URL: https://issues.apache.org/jira/browse/HBASE-12542
             Project: HBase
          Issue Type: Bug
          Components: regionserver
            Reporter: Liu Shaohui
            Assignee: Liu Shaohui
            Priority: Critical
             Fix For: 2.0.0, 0.94.25


Using alter command to delete a family of table online will make the regionsevers that serve
the regions of the table crash.
{code}
alter 't', NAME => 'f', METHOD => 'delete'
{code}

The reason is that TableDeleteFamilyHandler in HMaster delete the family dir firstly and then
reopen all the regions of table.
When the regionserver reopen the region, it will crash for the exception in flushing memstore
to hfile of the deleted family during closing the region, because the parent dir of the hfile
has been deleted in TableDeleteFamilyHandler.
See: TableDeleteFamilyHandler.java #57

A simple solution is change the order of operations in TableDeleteFamilyHandler.
- update table descriptor first, 
- reopen all the regions,
- delete the the family dir at last.

Suggestions are welcomed.




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

Mime
View raw message