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

Duo Zhang commented on HBASE-20117:
-----------------------------------

Maybe the problem is here.

{code}
        if (peerIds.isEmpty()) {
          // no serial replication, only keep the newest barrier
          Cell cell = 
result.getColumnLatestCell(HConstants.REPLICATION_BARRIER_FAMILY,
            HConstants.SEQNUM_QUALIFIER);
          metaTable.delete(new 
Delete(regionName).addFamily(HConstants.REPLICATION_BARRIER_FAMILY,
            cell.getTimestamp() - 1));
          cleanedRows++;
          deletedBarriers += barriers.length - 1;
          continue;
        }
{code}

If there are no serial peers we will always keep the newest barrier, but here 
we do not check whether the region is gone or not.

Let me check if I can provide a UT for this.

But anyway, [~stack] I think HBCK should just ignore this family? Replication 
is asynchoronous, so the barrier family will remain there for a while after the 
info family is gone.

> Cleanup the unused replication barriers in meta table
> -----------------------------------------------------
>
>                 Key: HBASE-20117
>                 URL: https://issues.apache.org/jira/browse/HBASE-20117
>             Project: HBase
>          Issue Type: Sub-task
>          Components: master, Replication
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Major
>             Fix For: 3.0.0, 2.1.0
>
>         Attachments: HBASE-20117-v1.patch, HBASE-20117-v2.patch, 
> HBASE-20117.patch
>
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to