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";