You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Anoop Sam John (JIRA)" <ji...@apache.org> on 2014/11/20 11:41:34 UTC

[jira] [Commented] (HBASE-12542) Delete a family of table online will crash regionserver

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

Anoop Sam John commented on HBASE-12542:
----------------------------------------

Suggested change in sequence looks fine.

Or more cleaner
-close regions
-change table descriptors
-remove cf dir
-open regions
(If it is not too much of changes)

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