Skip to content

Commit 4aff481

Browse files
authored
HBASE-25506 ServerManager#startChore affects MTTR of HMaster (#2889)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
1 parent b07549f commit 4aff481

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -921,8 +921,13 @@ public boolean isClusterShutdown() {
921921
public void startChore() {
922922
Configuration c = master.getConfiguration();
923923
if (persistFlushedSequenceId) {
924-
// when reach here, RegionStates should loaded, firstly, we call remove deleted regions
925-
removeDeletedRegionFromLoadedFlushedSequenceIds();
924+
new Thread(() -> {
925+
// after AM#loadMeta, RegionStates should be loaded, and some regions are
926+
// deleted by drop/split/merge during removeDeletedRegionFromLoadedFlushedSequenceIds,
927+
// but these deleted regions are not added back to RegionStates,
928+
// so we can safely remove deleted regions.
929+
removeDeletedRegionFromLoadedFlushedSequenceIds();
930+
}, "RemoveDeletedRegionSyncThread").start();
926931
int flushPeriod = c.getInt(FLUSHEDSEQUENCEID_FLUSHER_INTERVAL,
927932
FLUSHEDSEQUENCEID_FLUSHER_INTERVAL_DEFAULT);
928933
flushedSeqIdFlusher = new FlushedSequenceIdFlusher(

0 commit comments

Comments
 (0)