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

sunchao pushed a commit to branch branch-2.3
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/branch-2.3 by this push:
     new b358f65  Improve Table#getEmptyTable performance by disabling 
registerAllFunctionsOnce (#2251)
b358f65 is described below

commit b358f650479fa1e4f1f273a6a8ca38f3e77fc5ef
Author: Yuming Wang <yumw...@ebay.com>
AuthorDate: Fri May 7 13:31:46 2021 +0800

    Improve Table#getEmptyTable performance by disabling 
registerAllFunctionsOnce (#2251)
---
 ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java        | 7 +++++++
 ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java | 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java 
b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
index f64cfda..cc5712d 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java
@@ -304,6 +304,13 @@ public class Hive {
     return getInternal(c, false, true, doRegisterAllFns);
   }
 
+  /**
+   * Same as {@link #get(HiveConf)}, except that it does not register all 
functions.
+   */
+  public static Hive getWithoutRegisterFns(HiveConf c) throws HiveException {
+    return getInternal(c, false, false, false);
+  }
+
   private static Hive getInternal(HiveConf c, boolean needsRefresh, boolean 
isFastCheck,
       boolean doRegisterAllFns) throws HiveException {
     Hive db = hiveDB.get();
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java 
b/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
index 33f01d6..8efc531 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java
@@ -914,7 +914,7 @@ public class SessionState {
     authorizerV2.applyAuthorizationConfigPolicy(sessionConf);
     // update config in Hive thread local as well and init the metastore client
     try {
-      Hive.get(sessionConf).getMSC();
+      Hive.getWithoutRegisterFns(sessionConf).getMSC();
     } catch (Exception e) {
       // catch-all due to some exec time dependencies on session state
       // that would cause ClassNoFoundException otherwise

Reply via email to