[
https://issues.apache.org/jira/browse/HBASE-26969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17542548#comment-17542548
]
Szabolcs Bukros commented on HBASE-26969:
-----------------------------------------
> the master cleaner could check only files from regions not online on any RS
That would not be enough. Consider the following scenario. Region p creates a
mobfile with a name of "<lots_of_numbers>_p". While region p is online the rs
cleaner can identify that "<lots_of_numbers>_p" belongs to this region and can
clean it up if it is no longer referenced from said region. Now let's split
region p. We have 2 new regions p1, p2 and p is archived, maybe even deleted
altogether. Both p1 and p2 are online and contain references to
"<lots_of_numbers>_p" mobfile but we have no way of knowing we should search
these regions for references. So the master cleaner have to read every single
hfile to find the references in p1 and p2.
The mobfiles keep their name until a major compaction runs.
> 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)