diff --git a/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveMetaStoreChecker.java b/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveMetaStoreChecker.java index 10fa561..fa3ad0c 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveMetaStoreChecker.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveMetaStoreChecker.java @@ -37,6 +37,8 @@ import org.apache.hadoop.hive.metastore.api.MetaException; import org.apache.hadoop.hive.metastore.api.NoSuchObjectException; import org.apache.hadoop.hive.ql.metadata.CheckResult.PartitionResult; +import org.apache.hadoop.hive.ql.optimizer.ppr.PartitionPruner; +import org.apache.hadoop.hive.ql.parse.PrunedPartitionList; import org.apache.thrift.TException; /** @@ -196,8 +198,10 @@ void checkTable(String dbName, String tableName, if (table.isPartitioned()) { if (partitions == null || partitions.isEmpty()) { + PrunedPartitionList prunedPartList = + PartitionPruner.prune(table, null, conf, toString(), null); // no partitions specified, let's get all - parts = hive.getPartitions(table); + parts.addAll(prunedPartList.getPartitions()); } else { // we're interested in specific partitions, // don't check for any others diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java index 02c5a89..26e936e 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java @@ -227,7 +227,7 @@ public static PrunedPartitionList prune(Table tab, ExprNodeDesc prunerExpr, private static PrunedPartitionList getAllPartsFromCacheOrServer(Table tab, String key, boolean unknownPartitions, Map partsCache) throws SemanticException { - PrunedPartitionList ppList = partsCache.get(key); + PrunedPartitionList ppList = partsCache == null ? null : partsCache.get(key); if (ppList != null) { return ppList; } @@ -238,7 +238,9 @@ private static PrunedPartitionList getAllPartsFromCacheOrServer(Table tab, Strin throw new SemanticException(e); } ppList = new PrunedPartitionList(tab, parts, null, unknownPartitions); - partsCache.put(key, ppList); + if (partsCache != null) { + partsCache.put(key, ppList); + } return ppList; }