[ https://issues.apache.org/jira/browse/HIVE-26509?focusedWorklogId=812320&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-812320 ]
ASF GitHub Bot logged work on HIVE-26509: ----------------------------------------- Author: ASF GitHub Bot Created on: 27/Sep/22 02:41 Start Date: 27/Sep/22 02:41 Worklog Time Spent: 10m Work Description: dengzhhu653 commented on code in PR #3567: URL: https://github.com/apache/hive/pull/3567#discussion_r980676435 ########## standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/conf/MetastoreConf.java: ########## @@ -1523,6 +1531,11 @@ public enum ConfVars { TXN_USE_MIN_HISTORY_LEVEL("metastore.txn.use.minhistorylevel", "hive.txn.use.minhistorylevel", true, "Set this to false, for the TxnHandler and Cleaner to not use MinHistoryLevel table and take advantage of openTxn optimisation.\n" + "If the table is dropped HMS will switch this flag to false."), + LOCK_NUMRETRIES("metastore.lock.numretries", "hive.lock.numretries", 100, Review Comment: the retries are intended to test whether we can lock on the given table, https://github.com/apache/hive/blob/bcbdd0c77f73ce7f46342cc30d6c565027fac311/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/leader/LeaseLeaderElection.java#L173-L189 the 100 retries are inspired from [hive.lock.numretries](https://github.com/apache/hive/blob/master/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java#L2922). Issue Time Tracking ------------------- Worklog Id: (was: 812320) Time Spent: 2h 40m (was: 2.5h) > Introduce dynamic leader election in HMS > ---------------------------------------- > > Key: HIVE-26509 > URL: https://issues.apache.org/jira/browse/HIVE-26509 > Project: Hive > Issue Type: New Feature > Components: Standalone Metastore > Reporter: Zhihua Deng > Priority: Major > Labels: pull-request-available > Time Spent: 2h 40m > Remaining Estimate: 0h > > From HIVE-21841 we have a leader HMS selected by configuring > metastore.housekeeping.leader.hostname on startup. This approach saves us > from running duplicated HMS's housekeeping tasks cluster-wide. > In this jira, we introduce another dynamic leader election: adopt hive lock > to implement the leader election. Once a HMS owns the lock, then it becomes > the leader, carries out the housekeeping tasks, and sends heartbeats to renew > the lock before timeout. If the leader fails to reclaim the lock, then stops > the already started tasks if it has, the electing event is audited. We can > achieve a more dynamic leader when the original goes down or in the public > cloud without well configured property, and reduce the leader’s burdens by > running these tasks among different leaders. -- This message was sent by Atlassian Jira (v8.20.10#820010)