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

Wellington Chevreuil commented on HBASE-26969:
----------------------------------------------

{quote}
The problem is that when we can not easily identify which region should contain 
references to a given MOB file we have absolutely no way to tell and have to 
read every single hfile's metadata to check for references.
{quote}
I get that, my question here is if there is a way the master cleaner could 
check only files from regions not online on any RS (as online regions would 
already be checked by the cleaner running on each RS). If we can trust meta 
listing of split/merged regions, then we could only iterate through those, 
instead of every single region dir under the root dir. But if split/merged 
region dirs are still kept under root dir even after those regions are removed 
from meta, then we can't rely on meta.

> Eliminate MOB renames when SFT is enabled
> -----------------------------------------
>
>                 Key: HBASE-26969
>                 URL: https://issues.apache.org/jira/browse/HBASE-26969
>             Project: HBase
>          Issue Type: Sub-task
>          Components: mob
>    Affects Versions: 2.5.0, 3.0.0-alpha-3
>            Reporter: Szabolcs Bukros
>            Assignee: Szabolcs Bukros
>            Priority: Major
>             Fix For: 2.6.0, 3.0.0-alpha-3
>
>
> MOB file compaction and flush still relies on renames even when SFT is 
> enabled.
> My proposed changes are:
>  * when requireWritingToTmpDirFirst is false during mob flush/compact instead 
> of using the temp writer we should create a different writer using a 
> {color:#000000}StoreFileWriterCreationTracker that writes directly to the mob 
> store folder{color}
>  * {color:#000000}these StoreFileWriterCreationTracker should be stored in 
> the MobStore. This would requires us to extend MobStore with a createWriter 
> and a finalizeWriter method to handle this{color}
>  * {color:#000000}refactor {color}MobFileCleanerChore to run on the RS 
> instead on Master to allow access to the 
> {color:#000000}StoreFileWriterCreationTracker{color}s to make sure the 
> currently written files are not cleaned up



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to