diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java index 95d9fe21bd..de2dbbd91f 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java @@ -535,6 +535,10 @@ public boolean generateSqlFilterForPushdown( if (partitionIds.isEmpty()) { return Collections.emptyList(); // no partitions, bail early. } + //Warn if the number of partitions is greater than 10k. + if(partitionIds.size() > 10000) { + LOG.warn(tblName + " has " + String.valueOf(partitionIds.size()) +" partitions which is greater than 10000."); + } // Get full objects. For Oracle/etc. do it in batches. List result = Batchable.runBatched(batchSize, partitionIds, new Batchable() { diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java index 8af164efc9..2b0919cfdf 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java @@ -3335,6 +3335,12 @@ private Collection getPartitionPsQueryResults(String catName, String dbName, Str } mparts = (List) query.execute(tableName, dbName, catName); LOG.debug("Done executing query for listMPartitions"); + + //Warn if the number of partitions is greater than 10k. + if(mparts.size() > 10000) { + LOG.warn(tableName + " has " + String.valueOf(mparts.size()) +" partitions which is greater than 10000."); + } + pm.retrieveAll(mparts); success = commitTransaction(); LOG.debug("Done retrieving all objects for listMPartitions {}", mparts);