diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java index 83306bf653..0304fd99eb 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java @@ -88,8 +88,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import static org.apache.hadoop.hive.metastore.DatabaseProduct.MYSQL; +import static org.apache.hadoop.hive.metastore.utils.MetaStoreUtils.getDefaultCatalog; import static org.apache.hadoop.hive.metastore.utils.StringUtils.normalizeIdentifier; + import com.google.common.annotations.VisibleForTesting; /** @@ -3264,6 +3266,14 @@ public void addDynamicPartitions(AddDynamicPartitions rqst) @RetrySemantics.Idempotent public void cleanupRecords(HiveObjectType type, Database db, Table table, Iterator partitionIterator) throws MetaException { + if(!getDefaultCatalog(conf).equals(db.getCatalogName())) { + // only cleanup records in Hive's default catalog + LOG.debug("Skipping cleanup since it is not default catalog (" + getDefaultCatalog(conf) + "). " + + "( Table: " + table.getTableName() + " Database: " + db.getName() + + " Catalog: " + db.getCatalogName() + ")." ); + return; + } + try { Connection dbConn = null; Statement stmt = null;