You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Pankaj Kumar (JIRA)" <ji...@apache.org> on 2019/08/14 06:38:00 UTC

[jira] [Commented] (HBASE-22632) SplitTableRegionProcedure and MergeTableRegionsProcedure should skip store files for unknown column families

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

Pankaj Kumar commented on HBASE-22632:
--------------------------------------

{quote}there was a partial successful 'alter table' call that removed a family. As it is 'partial successful', there are still some stale store files of the removed family left under the region directory.
{quote}
I think the problem happens when we are trying to delete a CF dynamically (hbase.online.schema.update.enable is set as true) and if any region memstore contain entries for the deleted CF because we delete the from FS first and then reopen the region. During reopen RS will flush the memstore content to FS.

> SplitTableRegionProcedure and MergeTableRegionsProcedure should skip store files for unknown column families
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-22632
>                 URL: https://issues.apache.org/jira/browse/HBASE-22632
>             Project: HBase
>          Issue Type: Bug
>          Components: proc-v2
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Major
>             Fix For: 3.0.0, 2.3.0, 2.0.6, 2.2.1, 2.1.6
>
>         Attachments: HBASE-22632-UT.patch
>
>
> Hit this problem in our internal staging cluster. Not sure why, but probably, there was a partial successful 'alter table' call that removed a family. As it is 'partial successful', there are still some stale store files of the removed family left under the region directory. And in SplitTableRegionProcedure and MergeTableRegionsProcedure, we will get all the store files by listing the file system, so we will also get the stale store files for the family which should have been removed already, and then causes NPE when we want to access the ColumnFamilyDescriptor.
> Although it is not the common case that there are store files for removed families, but FWIW, I think we can do something to make our procedures more robust...



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)