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

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


The following commit(s) were added to refs/heads/master by this push:
     new 852582d791d HIVE-29980: get_num_partitions_by_filter reinforement 
(#6830)
852582d791d is described below

commit 852582d791da60886f8a1a5881bc31e5918a8fcc
Author: Daniel (Hongdan) Zhu <[email protected]>
AuthorDate: Tue Oct 20 19:00:53 2026 -0700

    HIVE-29980: get_num_partitions_by_filter reinforement (#6830)
---
 .../apache/hadoop/hive/metastore/handler/DeprecatedHandler.java   | 5 +++++
 .../apache/hadoop/hive/metastore/TestHmsServerAuthorization.java  | 8 ++++++++
 2 files changed, 13 insertions(+)

diff --git 
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/handler/DeprecatedHandler.java
 
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/handler/DeprecatedHandler.java
index 9979a7ef8fb..f4984d12518 100644
--- 
a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/handler/DeprecatedHandler.java
+++ 
b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/handler/DeprecatedHandler.java
@@ -95,6 +95,7 @@
 import org.apache.hadoop.hive.metastore.conf.MetastoreConf;
 import org.apache.hadoop.hive.metastore.events.AlterPartitionEvent;
 import org.apache.hadoop.hive.metastore.events.PreAlterPartitionEvent;
+import org.apache.hadoop.hive.metastore.events.PreReadTableEvent;
 import org.apache.hadoop.hive.metastore.messaging.EventMessage;
 import org.apache.hadoop.hive.metastore.utils.MetaStoreServerUtils;
 import org.apache.thrift.TException;
@@ -1017,6 +1018,10 @@ public final int get_num_partitions_by_filter(final 
String dbName,
     int ret = -1;
     Exception ex = null;
     try {
+      GetTableRequest getTableRequest = new 
GetTableRequest(parsedDbName[DB_NAME], tblName);
+      getTableRequest.setCatName(parsedDbName[CAT_NAME]);
+      Table table = get_table_core(getTableRequest);
+      firePreEvent(new PreReadTableEvent(table, this));
       ret = getMS().getNumPartitionsByFilter(parsedDbName[CAT_NAME], 
parsedDbName[DB_NAME],
           tblName, filter);
     } catch (Exception e) {
diff --git 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHmsServerAuthorization.java
 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHmsServerAuthorization.java
index 8bc7f425d14..f88cfeae295 100644
--- 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHmsServerAuthorization.java
+++ 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHmsServerAuthorization.java
@@ -231,6 +231,14 @@ public void testGetPartitionsWithSpecsAuthorization() 
throws Exception {
         () -> client.getPartitionsWithSpecs(request));
   }
 
+  @Test
+  public void testGetNumPartitionsByFilterAuthorization() throws Exception {
+    dbName1 = "db_test_get_num_partitions_by_filter";
+    creatEnv(conf);
+    expectAuthorizationFailure("get_num_partitions_by_filter",
+        () -> client.getNumPartitionsByFilter(dbName1, TAB2, 
"name=\"value1\""));
+  }
+
   @Test
   public void testTruncateTableAuthorization() throws Exception {
     dbName1 = "db_test_truncate_table";

Reply via email to