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

[jira] [Commented] (HBASE-22806) Recreating a deleted column family brings back the deleted cells

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

Reid Chan commented on HBASE-22806:
-----------------------------------

bq. Expected: no cells (all cells marked as deleted) in CF. Actual: C1, C2 shows up automatically in CF
It makes sense to me. Please try imagine your CF have billions of cells in production env, it's an unacceptable to tomb every cells just after calling Admin#deleteColumnFamily. First it's time consuming, second it's a whole CF full scan which would press you RS. If you take a look at the source code, you will understand why C1 & C2 show up again.

bq. if doing Admin.modifyColumnFamily() without actually changing anything, then after step 4 the cells won't come back.
How do you build the {{ColumnFamilyDescriptor}}? Calling modifyColumnFamily will overwrite your table's meta data, C1 & C2 are still there and don't get tombed but just you can't see it because of meta mismatch, if i understand correctly.



> Recreating a deleted column family brings back the deleted cells
> ----------------------------------------------------------------
>
>                 Key: HBASE-22806
>                 URL: https://issues.apache.org/jira/browse/HBASE-22806
>             Project: HBase
>          Issue Type: Bug
>          Components: API
>    Affects Versions: 2.1.3
>         Environment: Scala
> HBase Java Client
> Mac/Linux
>            Reporter: Chao
>            Priority: Major
>
> Steps to reproduce the bug:
>  # Create a table with column family CF
>  # Add some cells C1, C2 in CF
>  # Remove CF using either:
>  ** TableDescriptorBuilder.removeColumnFamily() and Admin.modifyTable()
>  ** Admin.deleteColumnFamily()
>  # Create CF again
> Expected: no cells (all cells marked as deleted) in CF
> Actual: C1, C2 shows up automatically in CF
> Extra information: in step 3, if doing Admin.modifyColumnFamily() without actually changing anything, then after step 4 the cells won't come back.



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