[ 
https://issues.apache.org/jira/browse/HBASE-30302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dong0829 updated HBASE-30302:
-----------------------------
    Description: 
CatalogJanitor.cleanParent gates GCRegionProcedure on whether the daughters 
still reference the parent, and that check only ever tested 
StoreFileInfo.isReference() – never HFileLink.isHFileLink(). A daughter holding 
nothing but HFileLinks therefore reported "no references", so the parent was 
collected after the split while the daughters still depended on it. The 
daughters' links were then left dangling and the regions failed to open with 
FileNotFoundException.

 

Reproduce:

we can reproduce the issue using unit test like create a daughter region with  
HFileLinks, and go GC and we can see the parent was GCed 

  was:CatalogJanitor.cleanParent gates GCRegionProcedure on whether the 
daughters still reference the parent, and that check only ever tested 
StoreFileInfo.isReference() -- never HFileLink.isHFileLink(). A daughter 
holding nothing but HFileLinks therefore reported "no references", so the 
parent was collected after the split while the daughters still depended on it. 
The daughters' links were then left dangling and the regions failed to open 
with FileNotFoundException.


> CatalogJanitor.cleanParent clean the parent who still referred by other 
> regions via HFileLink
> ---------------------------------------------------------------------------------------------
>
>                 Key: HBASE-30302
>                 URL: https://issues.apache.org/jira/browse/HBASE-30302
>             Project: HBase
>          Issue Type: Bug
>          Components: SFT
>    Affects Versions: 2.6.0, 3.0.0
>            Reporter: Dong0829
>            Assignee: Dong0829
>            Priority: Major
>
> CatalogJanitor.cleanParent gates GCRegionProcedure on whether the daughters 
> still reference the parent, and that check only ever tested 
> StoreFileInfo.isReference() – never HFileLink.isHFileLink(). A daughter 
> holding nothing but HFileLinks therefore reported "no references", so the 
> parent was collected after the split while the daughters still depended on 
> it. The daughters' links were then left dangling and the regions failed to 
> open with FileNotFoundException.
>  
> Reproduce:
> we can reproduce the issue using unit test like create a daughter region with 
>  HFileLinks, and go GC and we can see the parent was GCed 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to