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

Reply via email to