[
https://issues.apache.org/jira/browse/HBASE-26640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17476793#comment-17476793
]
Duo Zhang commented on HBASE-26640:
-----------------------------------
Ah, seems we can not fully eliminate (atomic) renaming...
Please see FSTableDescriptor. We still need to write the TableDescriptor in a
tmp dir first, and then rename it to the final place.
Luckily we will not overwrite existing files, so maybe the renaming does not
need to to atomic?
[~wchevreuil] [~elserj]. What do you guys think about this problem?
Thanks.
> Reimplement master location region initialization to better work with SFT
> -------------------------------------------------------------------------
>
> Key: HBASE-26640
> URL: https://issues.apache.org/jira/browse/HBASE-26640
> Project: HBase
> Issue Type: Sub-task
> Components: master, RegionProcedureStore
> Reporter: Duo Zhang
> Assignee: Duo Zhang
> Priority: Major
>
> It is not like a normal region where we have a TableDescriptor so it can
> store the SFT implementation of its own. In the current implementation, if we
> change the global SFT configuration, the SFT implementation of the master
> local reigon will be changed and cause data loss.
> First I think we could hard coded it to use DefaultSFT. The region is small
> and will not cause too much performance impact. Then we could find a way to
> manage the SFT implementation of it.
> ====== Update ======
> The initialization of master local region depends on renaming, which can not
> work well on OSS. So we should also change it. The basic idea is to touch a
> '.initialized' file to indicate it is initialized. Need to consider how to
> migrate from the existing master local region where it does not have this
> file.
> And we could also store the TableDescriptor on file system, so we can
> determine whether this is a SFT change. If so, we should do the migration
> before actually opening the master local region.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)