[ 
https://issues.apache.org/jira/browse/HIVE-26794?focusedWorklogId=836487&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-836487
 ]

ASF GitHub Bot logged work on HIVE-26794:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 03/Jan/23 04:05
            Start Date: 03/Jan/23 04:05
    Worklog Time Spent: 10m 
      Work Description: dengzhhu653 commented on code in PR #3817:
URL: https://github.com/apache/hive/pull/3817#discussion_r1060267118


##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/datasource/HikariCPDataSourceProvider.java:
##########
@@ -72,6 +72,17 @@ public DataSource create(Configuration hdpConfig, int 
maxPoolSize) throws SQLExc
       config.setPoolName(poolName);
     }
 
+    // It's kind of a waste to create a fixed size connection pool as same as 
the TxnHandler#connPool,
+    // TxnHandler#connPoolMutex is mostly used for MutexAPI that is primarily 
designed to
+    // provide coarse-grained mutex support to maintenance tasks running 
inside the Metastore,
+    // add minimumIdle=2 and idleTimeout=5min to the pool, so that the 
connection pool can retire
+    // the idle connection aggressively, this will make Metastore more 
scalable especially if
+    // there is a leader in the warehouse.
+    if ("mutex".equals(poolName)) {
+      config.setMinimumIdle(Math.min(maxPoolSize, 2));
+      config.setIdleTimeout(300 * 1000);

Review Comment:
   Done, this can be configured by `hikaricp.idleTimeout` and default is 10min





Issue Time Tracking
-------------------

    Worklog Id:     (was: 836487)
    Time Spent: 3h 40m  (was: 3.5h)

> Explore retiring TxnHandler#connPoolMutex idle connections
> ----------------------------------------------------------
>
>                 Key: HIVE-26794
>                 URL: https://issues.apache.org/jira/browse/HIVE-26794
>             Project: Hive
>          Issue Type: Improvement
>          Components: Standalone Metastore
>            Reporter: Zhihua Deng
>            Assignee: Zhihua Deng
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 3h 40m
>  Remaining Estimate: 0h
>
> Instead of creating a fixed size connection pool for TxnHandler#MutexAPI, the 
> pool can be assigned to a more dynamic size pool due to: 
>  * TxnHandler#MutexAPI is primarily designed to provide coarse-grained mutex 
> support to maintenance tasks running inside the Metastore, these tasks are 
> not user faced;
>  * A fixed size connection pool as same as the pool used in ObjectStore is a 
> waste for other non leaders in the warehouse; 
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to