This is an automated email from the ASF dual-hosted git repository.

lesun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/gobblin.git


The following commit(s) were added to refs/heads/master by this push:
     new ebc0ee2  [GOBBLIN-1434] Make the maxWaitMills to get a hive client be 
configurable
ebc0ee2 is described below

commit ebc0ee2cbf04b4f4097d5e255639fbfc02c46907
Author: Zihan Li <[email protected]>
AuthorDate: Mon Apr 26 16:46:23 2021 -0700

    [GOBBLIN-1434] Make the maxWaitMills to get a hive client be configurable
    
    Closes #3267 from ZihanLi58/GOBBLIN-1434
---
 .../java/org/apache/gobblin/hive/HiveMetastoreClientPool.java    | 1 +
 .../src/main/java/org/apache/gobblin/hive/HiveRegProps.java      | 9 +++++++++
 2 files changed, 10 insertions(+)

diff --git 
a/gobblin-hive-registration/src/main/java/org/apache/gobblin/hive/HiveMetastoreClientPool.java
 
b/gobblin-hive-registration/src/main/java/org/apache/gobblin/hive/HiveMetastoreClientPool.java
index a1b4051..680fe09 100644
--- 
a/gobblin-hive-registration/src/main/java/org/apache/gobblin/hive/HiveMetastoreClientPool.java
+++ 
b/gobblin-hive-registration/src/main/java/org/apache/gobblin/hive/HiveMetastoreClientPool.java
@@ -153,6 +153,7 @@ public class HiveMetastoreClientPool {
     GenericObjectPoolConfig config = new GenericObjectPoolConfig();
     config.setMaxTotal(this.hiveRegProps.getNumThreads());
     config.setMaxIdle(this.hiveRegProps.getNumThreads());
+    
config.setMaxWaitMillis(this.hiveRegProps.getMaxWaitMillisBorrowingClient());
 
     String extraConfigTarget = 
properties.getProperty(POOL_HIVE_ADDITIONAL_CONFIG_TARGET, "");
 
diff --git 
a/gobblin-hive-registration/src/main/java/org/apache/gobblin/hive/HiveRegProps.java
 
b/gobblin-hive-registration/src/main/java/org/apache/gobblin/hive/HiveRegProps.java
index fd5d8e8..478961a 100644
--- 
a/gobblin-hive-registration/src/main/java/org/apache/gobblin/hive/HiveRegProps.java
+++ 
b/gobblin-hive-registration/src/main/java/org/apache/gobblin/hive/HiveRegProps.java
@@ -44,6 +44,8 @@ public class HiveRegProps extends State {
 
   public static final String HIVE_DB_ROOT_DIR = "hive.db.root.dir";
   public static final String HIVE_REGISTER_THREADS = "hive.register.threads";
+  public static final String HIVE_MAX_WAIT_MILLS_BORROW_CLIENT = 
"hive.register.maxWaitMills.borrow.client";
+  public static final long DEFAULT_HIVE_MAX_WAIT_MILLS_BORROW_CLIENT = -1L;
   public static final int DEFAULT_HIVE_REGISTER_THREADS = 20;
   public static final String HIVE_TABLE_PARTITION_PROPS = 
"hive.table.partition.props";
   public static final String HIVE_STORAGE_PROPS = "hive.storage.props";
@@ -150,4 +152,11 @@ public class HiveRegProps extends State {
   public int getNumThreads() {
     return getPropAsInt(HIVE_REGISTER_THREADS, DEFAULT_HIVE_REGISTER_THREADS);
   }
+  /**
+   * Get max wait mills when borrow a hive client from pool from {@link 
#HIVE_MAX_WAIT_MILLS_BORROW_CLIENT}, with a default value of
+   * {@link #DEFAULT_HIVE_MAX_WAIT_MILLS_BORROW_CLIENT}.
+   */
+  public long getMaxWaitMillisBorrowingClient() {
+    return getPropAsLong(HIVE_MAX_WAIT_MILLS_BORROW_CLIENT, 
DEFAULT_HIVE_MAX_WAIT_MILLS_BORROW_CLIENT);
+  }
 }

Reply via email to