You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by bl...@apache.org on 2020/10/16 16:55:29 UTC

[iceberg] branch master updated: Hive: Fix TestHiveMetastore worker exhaustion (#1620)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 878d9a2  Hive: Fix TestHiveMetastore worker exhaustion (#1620)
878d9a2 is described below

commit 878d9a2df24a5469a2a4fa787237e2d0a939ab00
Author: pvary <pv...@cloudera.com>
AuthorDate: Fri Oct 16 18:55:17 2020 +0200

    Hive: Fix TestHiveMetastore worker exhaustion (#1620)
---
 .../src/test/java/org/apache/iceberg/hive/TestHiveMetastore.java     | 4 ++--
 .../apache/iceberg/mr/hive/HiveIcebergStorageHandlerBaseTest.java    | 5 +++++
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/hive-metastore/src/test/java/org/apache/iceberg/hive/TestHiveMetastore.java b/hive-metastore/src/test/java/org/apache/iceberg/hive/TestHiveMetastore.java
index 957cc71..04007ad 100644
--- a/hive-metastore/src/test/java/org/apache/iceberg/hive/TestHiveMetastore.java
+++ b/hive-metastore/src/test/java/org/apache/iceberg/hive/TestHiveMetastore.java
@@ -166,8 +166,8 @@ public class TestHiveMetastore {
         .processor(new TSetIpAddressProcessor<>(handler))
         .transportFactory(new TTransportFactory())
         .protocolFactory(new TBinaryProtocol.Factory())
-        .minWorkerThreads(3)
-        .maxWorkerThreads(5);
+        .minWorkerThreads(5)
+        .maxWorkerThreads(15);
 
     return new TThreadPoolServer(args);
   }
diff --git a/mr/src/test/java/org/apache/iceberg/mr/hive/HiveIcebergStorageHandlerBaseTest.java b/mr/src/test/java/org/apache/iceberg/mr/hive/HiveIcebergStorageHandlerBaseTest.java
index ae08177..d3cea88 100644
--- a/mr/src/test/java/org/apache/iceberg/mr/hive/HiveIcebergStorageHandlerBaseTest.java
+++ b/mr/src/test/java/org/apache/iceberg/mr/hive/HiveIcebergStorageHandlerBaseTest.java
@@ -142,12 +142,17 @@ public abstract class HiveIcebergStorageHandlerBaseTest {
     String metastoreWarehouse = metastore.hiveConf().getVar(HiveConf.ConfVars.METASTOREWAREHOUSE);
     shell.setHiveConfValue(HiveConf.ConfVars.METASTOREWAREHOUSE.varname, metastoreWarehouse);
 
+    // Notification uses another HMSClient which we do not use in the tests, so we turn this off.
+    shell.setHiveConfValue("hive.notification.event.poll.interval", "-1");
     shell.start();
   }
 
   @After
   public void after() throws Exception {
     metastore.reset();
+    // HiveServer2 thread pools are using thread local Hive -> HMSClient objects. These are not cleaned up when the
+    // HiveServer2 is stopped. Only Finalizer closes the HMS connections.
+    System.gc();
   }
 
   // PARQUET