diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/database/drop/DropDatabaseDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/database/drop/DropDatabaseDesc.java index 5dab0ab5da32..be5e21a9ba8b 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/database/drop/DropDatabaseDesc.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/database/drop/DropDatabaseDesc.java @@ -68,7 +68,7 @@ public boolean getIfExists() { return ifExists; } - public boolean isCasdade() { + public boolean isCascade() { return cascade; } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/ddl/database/drop/DropDatabaseOperation.java b/ql/src/java/org/apache/hadoop/hive/ql/ddl/database/drop/DropDatabaseOperation.java index 3f3708c8db4c..b544b7b4a24b 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/ddl/database/drop/DropDatabaseOperation.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/ddl/database/drop/DropDatabaseOperation.java @@ -57,7 +57,7 @@ public int execute() throws HiveException { ProactiveEviction.evict(context.getConf(), llapEvictRequestBuilder.build()); } // Unregister the functions as well - if (desc.isCasdade()) { + if (desc.isCascade()) { FunctionRegistry.unregisterPermanentFunctions(dbName); // TODO catalog. add catalog for unregistering functions. Depend on HIVE-29282 } } catch (NoSuchObjectException ex) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java index 9beeb20f1c24..cd33896807bc 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java @@ -750,7 +750,7 @@ public void dropDatabase(DropDatabaseDesc desc) req.setName(desc.getDatabaseName()); req.setIgnoreUnknownDb(desc.getIfExists()); req.setDeleteData(desc.isDeleteData()); - req.setCascade(desc.isCasdade()); + req.setCascade(desc.isCascade()); req.setSoftDelete(isSoftDelete); req.setTxnId(txnId); diff --git a/ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/handler/CompactionCleaner.java b/ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/handler/CompactionCleaner.java index b906432510fc..2a593e4927f7 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/handler/CompactionCleaner.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/handler/CompactionCleaner.java @@ -198,7 +198,7 @@ private void cleanUsingLocation(CompactionInfo ci, String path, boolean requires deleted = fsRemover.clean(getCleaningRequestBasedOnLocation(ci, path)); } if (!deleted.isEmpty()) { - txnHandler.markCleaned(ci.asSoftDeleted()); + txnHandler.markCleaned(ci); } else { txnHandler.clearCleanerStart(ci); } diff --git a/standalone-metastore/metastore-common/src/gen/thrift/gen-cpp/hive_metastore_types.cpp b/standalone-metastore/metastore-common/src/gen/thrift/gen-cpp/hive_metastore_types.cpp index 4d827d63ad2f..cac4a8421474 100644 --- a/standalone-metastore/metastore-common/src/gen/thrift/gen-cpp/hive_metastore_types.cpp +++ b/standalone-metastore/metastore-common/src/gen/thrift/gen-cpp/hive_metastore_types.cpp @@ -241,16 +241,18 @@ int _kCompactionTypeValues[] = { CompactionType::MAJOR, CompactionType::REBALANCE, CompactionType::ABORT_TXN_CLEANUP, - CompactionType::SMART_OPTIMIZE + CompactionType::SMART_OPTIMIZE, + CompactionType::DEFERRED_CLEANUP }; const char* _kCompactionTypeNames[] = { "MINOR", "MAJOR", "REBALANCE", "ABORT_TXN_CLEANUP", - "SMART_OPTIMIZE" + "SMART_OPTIMIZE", + "DEFERRED_CLEANUP" }; -const std::map _CompactionType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(5, _kCompactionTypeValues, _kCompactionTypeNames), ::apache::thrift::TEnumIterator(-1, nullptr, nullptr)); +const std::map _CompactionType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(6, _kCompactionTypeValues, _kCompactionTypeNames), ::apache::thrift::TEnumIterator(-1, nullptr, nullptr)); std::ostream& operator<<(std::ostream& out, const CompactionType::type& val) { std::map::const_iterator it = _CompactionType_VALUES_TO_NAMES.find(val); diff --git a/standalone-metastore/metastore-common/src/gen/thrift/gen-cpp/hive_metastore_types.h b/standalone-metastore/metastore-common/src/gen/thrift/gen-cpp/hive_metastore_types.h index fde2a96483a3..02f6720de00a 100644 --- a/standalone-metastore/metastore-common/src/gen/thrift/gen-cpp/hive_metastore_types.h +++ b/standalone-metastore/metastore-common/src/gen/thrift/gen-cpp/hive_metastore_types.h @@ -129,7 +129,8 @@ struct CompactionType { MAJOR = 2, REBALANCE = 3, ABORT_TXN_CLEANUP = 4, - SMART_OPTIMIZE = 5 + SMART_OPTIMIZE = 5, + DEFERRED_CLEANUP = 6 }; }; diff --git a/standalone-metastore/metastore-common/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/CompactionType.java b/standalone-metastore/metastore-common/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/CompactionType.java index 3394aca64e06..a64074e96c18 100644 --- a/standalone-metastore/metastore-common/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/CompactionType.java +++ b/standalone-metastore/metastore-common/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/CompactionType.java @@ -13,7 +13,8 @@ public enum CompactionType implements org.apache.thrift.TEnum { MAJOR(2), REBALANCE(3), ABORT_TXN_CLEANUP(4), - SMART_OPTIMIZE(5); + SMART_OPTIMIZE(5), + DEFERRED_CLEANUP(6); private final int value; @@ -45,6 +46,8 @@ public static CompactionType findByValue(int value) { return ABORT_TXN_CLEANUP; case 5: return SMART_OPTIMIZE; + case 6: + return DEFERRED_CLEANUP; default: return null; } diff --git a/standalone-metastore/metastore-common/src/gen/thrift/gen-php/metastore/CompactionType.php b/standalone-metastore/metastore-common/src/gen/thrift/gen-php/metastore/CompactionType.php index 45982da0e8ba..4cf4d405fa8b 100644 --- a/standalone-metastore/metastore-common/src/gen/thrift/gen-php/metastore/CompactionType.php +++ b/standalone-metastore/metastore-common/src/gen/thrift/gen-php/metastore/CompactionType.php @@ -28,12 +28,15 @@ final class CompactionType const SMART_OPTIMIZE = 5; + const DEFERRED_CLEANUP = 6; + static public $__names = array( 1 => 'MINOR', 2 => 'MAJOR', 3 => 'REBALANCE', 4 => 'ABORT_TXN_CLEANUP', 5 => 'SMART_OPTIMIZE', + 6 => 'DEFERRED_CLEANUP', ); } diff --git a/standalone-metastore/metastore-common/src/gen/thrift/gen-py/hive_metastore/ttypes.py b/standalone-metastore/metastore-common/src/gen/thrift/gen-py/hive_metastore/ttypes.py index 14f8b05ccbf0..ee7b3f22c342 100644 --- a/standalone-metastore/metastore-common/src/gen/thrift/gen-py/hive_metastore/ttypes.py +++ b/standalone-metastore/metastore-common/src/gen/thrift/gen-py/hive_metastore/ttypes.py @@ -158,6 +158,7 @@ class CompactionType(object): REBALANCE = 3 ABORT_TXN_CLEANUP = 4 SMART_OPTIMIZE = 5 + DEFERRED_CLEANUP = 6 _VALUES_TO_NAMES = { 1: "MINOR", @@ -165,6 +166,7 @@ class CompactionType(object): 3: "REBALANCE", 4: "ABORT_TXN_CLEANUP", 5: "SMART_OPTIMIZE", + 6: "DEFERRED_CLEANUP", } _NAMES_TO_VALUES = { @@ -173,6 +175,7 @@ class CompactionType(object): "REBALANCE": 3, "ABORT_TXN_CLEANUP": 4, "SMART_OPTIMIZE": 5, + "DEFERRED_CLEANUP": 6, } diff --git a/standalone-metastore/metastore-common/src/gen/thrift/gen-rb/hive_metastore_types.rb b/standalone-metastore/metastore-common/src/gen/thrift/gen-rb/hive_metastore_types.rb index 90480b9c9789..3905ff02a889 100644 --- a/standalone-metastore/metastore-common/src/gen/thrift/gen-rb/hive_metastore_types.rb +++ b/standalone-metastore/metastore-common/src/gen/thrift/gen-rb/hive_metastore_types.rb @@ -73,8 +73,9 @@ module CompactionType REBALANCE = 3 ABORT_TXN_CLEANUP = 4 SMART_OPTIMIZE = 5 - VALUE_MAP = {1 => "MINOR", 2 => "MAJOR", 3 => "REBALANCE", 4 => "ABORT_TXN_CLEANUP", 5 => "SMART_OPTIMIZE"} - VALID_VALUES = Set.new([MINOR, MAJOR, REBALANCE, ABORT_TXN_CLEANUP, SMART_OPTIMIZE]).freeze + DEFERRED_CLEANUP = 6 + VALUE_MAP = {1 => "MINOR", 2 => "MAJOR", 3 => "REBALANCE", 4 => "ABORT_TXN_CLEANUP", 5 => "SMART_OPTIMIZE", 6 => "DEFERRED_CLEANUP"} + VALID_VALUES = Set.new([MINOR, MAJOR, REBALANCE, ABORT_TXN_CLEANUP, SMART_OPTIMIZE, DEFERRED_CLEANUP]).freeze end module GrantRevokeType diff --git a/standalone-metastore/metastore-common/src/main/thrift/hive_metastore.thrift b/standalone-metastore/metastore-common/src/main/thrift/hive_metastore.thrift index ec9246a32d3c..14785a6e9b4d 100644 --- a/standalone-metastore/metastore-common/src/main/thrift/hive_metastore.thrift +++ b/standalone-metastore/metastore-common/src/main/thrift/hive_metastore.thrift @@ -220,6 +220,7 @@ enum CompactionType { REBALANCE = 3, ABORT_TXN_CLEANUP = 4, SMART_OPTIMIZE = 5, + DEFERRED_CLEANUP = 6, } enum GrantRevokeType { diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/AcidEventListener.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/AcidEventListener.java index 3b5eb0db0284..d8f51ad3ce50 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/AcidEventListener.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/AcidEventListener.java @@ -88,7 +88,8 @@ public void onDropTable(DropTableEvent tableEvent) throws MetaException { if (currentTxn > 0) { try { - CompactionRequest rqst = new CompactionRequest(table.getDbName(), table.getTableName(), CompactionType.MAJOR); + CompactionRequest rqst = new CompactionRequest(table.getDbName(), table.getTableName(), + CompactionType.DEFERRED_CLEANUP); rqst.setRunas(TxnUtils.findUserToRunAs(table.getSd().getLocation(), table, conf)); rqst.putToProperties("location", table.getSd().getLocation()); rqst.putToProperties("ifPurge", Boolean.toString(isMustPurge(tableEvent.getEnvironmentContext(), table))); diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/handler/DropDatabaseHandler.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/handler/DropDatabaseHandler.java index bc6e9b953203..1a9805121605 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/handler/DropDatabaseHandler.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/handler/DropDatabaseHandler.java @@ -28,7 +28,6 @@ import java.util.concurrent.atomic.AtomicReference; import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hive.common.repl.ReplConst; import org.apache.hadoop.hive.metastore.Batchable; import org.apache.hadoop.hive.metastore.HMSHandler; import org.apache.hadoop.hive.metastore.IHMSHandler; @@ -137,9 +136,6 @@ public DropDatabaseResult execute() throws TException, IOException { if (isSoftDelete) { context = new EnvironmentContext(); context.putToProperties(hive_metastoreConstants.TXN_ID, String.valueOf(request.getTxnId())); - if (ReplChangeManager.isSourceOfReplication(db)) { - context.putToProperties(ReplConst.SOURCE_OF_REPLICATION, Boolean.TRUE.toString()); - } request.setDeleteManagedDir(false); } DropTableRequest dropRequest = new DropTableRequest(name, table.getTableName()); diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/handler/DropTableHandler.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/handler/DropTableHandler.java index bc78b0e6d064..a655bf12cec2 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/handler/DropTableHandler.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/handler/DropTableHandler.java @@ -29,6 +29,7 @@ import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hive.common.TableName; +import org.apache.hadoop.hive.common.repl.ReplConst; import org.apache.hadoop.hive.metastore.HMSHandler; import org.apache.hadoop.hive.metastore.IHMSHandler; import org.apache.hadoop.hive.metastore.MetaStoreListenerNotifier; @@ -37,6 +38,7 @@ import org.apache.hadoop.hive.metastore.Warehouse; import org.apache.hadoop.hive.metastore.api.Database; import org.apache.hadoop.hive.metastore.api.DropTableRequest; +import org.apache.hadoop.hive.metastore.api.EnvironmentContext; import org.apache.hadoop.hive.metastore.api.GetTableRequest; import org.apache.hadoop.hive.metastore.api.MetaException; import org.apache.hadoop.hive.metastore.api.NoSuchObjectException; @@ -88,7 +90,11 @@ public DropTableResult execute() throws TException { throw new MetaException("Drop table in REMOTE database " + db.getName() + " is not allowed"); } isReplicated = isDbReplicationTarget(db); - + EnvironmentContext context = request.getEnvContext(); + if (!request.isDeleteData() && context != null && ReplChangeManager.isSourceOfReplication(db)) { + // Needed when the table data is asynchronously removed(soft delete) + context.putToProperties(ReplConst.SOURCE_OF_REPLICATION, Boolean.TRUE.toString()); + } checkInterrupted(); // Check if table is part of a materialized view. // If it is, it cannot be dropped. diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnStore.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnStore.java index 138acedc8547..22e6c279fc84 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnStore.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnStore.java @@ -135,6 +135,7 @@ enum MUTEX_KEY { char REBALANCE_TYPE = 'r'; char ABORT_TXN_CLEANUP_TYPE = 'c'; char SMART_OPTIMIZE_TYPE = '*'; + char DEFERRED_CLEANUP = 'd'; String[] COMPACTION_STATES = new String[] {INITIATED_RESPONSE, WORKING_RESPONSE, CLEANING_RESPONSE, FAILED_RESPONSE, SUCCEEDED_RESPONSE, DID_NOT_INITIATE_RESPONSE, REFUSED_RESPONSE }; diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnUtils.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnUtils.java index 525d6654a275..aa613aa8192d 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnUtils.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnUtils.java @@ -612,6 +612,8 @@ public static CompactionType dbCompactionType2ThriftType(char dbValue) throws SQ return CompactionType.ABORT_TXN_CLEANUP; case TxnStore.SMART_OPTIMIZE_TYPE: return CompactionType.SMART_OPTIMIZE; + case TxnStore.DEFERRED_CLEANUP: + return CompactionType.DEFERRED_CLEANUP; default: throw new SQLException("Unexpected compaction type " + dbValue); } @@ -629,6 +631,8 @@ public static Character thriftCompactionType2DbType(CompactionType ct) throws Me return TxnStore.ABORT_TXN_CLEANUP_TYPE; case SMART_OPTIMIZE: return TxnStore.SMART_OPTIMIZE_TYPE; + case DEFERRED_CLEANUP: + return TxnStore.DEFERRED_CLEANUP; default: throw new MetaException("Unexpected compaction type " + ct); } diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/entities/CompactionInfo.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/entities/CompactionInfo.java index 9c4c8a768576..a56b0a98ed98 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/entities/CompactionInfo.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/entities/CompactionInfo.java @@ -88,7 +88,6 @@ public class CompactionInfo implements Comparable { private String fullPartitionName = null; private String fullTableName = null; private StringableMap propertiesMap; - private boolean softDelete; public CompactionInfo(String dbname, String tableName, String partName, CompactionType type) { this.dbname = dbname; @@ -192,7 +191,6 @@ public String toString() { .append("numberOfBuckets", numberOfBuckets) .append("orderByClause", orderByClause) .append("minOpenWriteTxnId", minOpenWriteTxnId) - .append("softDelete", softDelete) .build(); } @@ -372,13 +370,8 @@ public boolean isAbortedTxnCleanup() { return type == CompactionType.ABORT_TXN_CLEANUP; } - public CompactionInfo asSoftDeleted() { - this.softDelete = true; - return this; - } - - public boolean isSoftDelete() { - return softDelete; + public boolean isDeferredCleanup() { + return CompactionType.DEFERRED_CLEANUP == type; } public boolean isSourceOfReplication() { diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/jdbc/functions/CleanupRecordsFunction.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/jdbc/functions/CleanupRecordsFunction.java index 5a6696158a7b..5d0d6f584f1a 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/jdbc/functions/CleanupRecordsFunction.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/jdbc/functions/CleanupRecordsFunction.java @@ -25,6 +25,7 @@ import org.apache.hadoop.hive.metastore.api.MetaException; import org.apache.hadoop.hive.metastore.api.Partition; import org.apache.hadoop.hive.metastore.api.Table; +import org.apache.hadoop.hive.metastore.txn.TxnStore; import org.apache.hadoop.hive.metastore.txn.jdbc.MultiDataSourceJdbcResource; import org.apache.hadoop.hive.metastore.txn.jdbc.TransactionalFunction; import org.slf4j.Logger; @@ -66,7 +67,8 @@ public class CleanupRecordsFunction implements TransactionalFunction { "\"CQ_DATABASE\" = :dbName AND " + "(\"CQ_TABLE\" = :tableName OR :tableName IS NULL) AND " + "(\"CQ_PARTITION\" = :partName OR :partName IS NULL) AND " + - "(\"CQ_TXN_ID\" != :txnId OR :txnId IS NULL)"); + "(\"CQ_TXN_ID\" != :txnId OR :txnId IS NULL) AND " + + "(\"CQ_TYPE\" != :cType)"); put((hiveObjectType, keepTxnToWriteIdMetaData) -> HIVE_OBJECT_TYPES.contains(hiveObjectType), "DELETE FROM \"COMPLETED_COMPACTIONS\" WHERE " + "\"CC_DATABASE\" = :dbName AND " + @@ -112,7 +114,6 @@ public CleanupRecordsFunction(HiveObjectType type, Database db, Table table, Ite public Void execute(MultiDataSourceJdbcResource jdbcResource) throws MetaException { // cleanup should be done only for objects belonging to default catalog List paramSources = new ArrayList<>(); - switch (type) { case DATABASE: { if (!defaultCatalog.equals(db.getCatalogName())) { @@ -124,7 +125,8 @@ public Void execute(MultiDataSourceJdbcResource jdbcResource) throws MetaExcepti .addValue("dbName", db.getName().toLowerCase()) .addValue("tableName", null, Types.VARCHAR) .addValue("partName", null, Types.VARCHAR) - .addValue("txnId", txnId, Types.BIGINT)); + .addValue("txnId", txnId, Types.BIGINT) + .addValue("cType", Character.toString(TxnStore.DEFERRED_CLEANUP), Types.CHAR)); break; } case TABLE: { @@ -137,7 +139,8 @@ public Void execute(MultiDataSourceJdbcResource jdbcResource) throws MetaExcepti .addValue("dbName", table.getDbName().toLowerCase()) .addValue("tableName", table.getTableName().toLowerCase(), Types.VARCHAR) .addValue("partName", null, Types.VARCHAR) - .addValue("txnId", null, Types.BIGINT)); + .addValue("txnId", null, Types.BIGINT) + .addValue("cType", Character.toString(TxnStore.DEFERRED_CLEANUP), Types.CHAR)); break; } case PARTITION: { @@ -155,7 +158,8 @@ public Void execute(MultiDataSourceJdbcResource jdbcResource) throws MetaExcepti .addValue("dbName", table.getDbName().toLowerCase()) .addValue("tableName", table.getTableName().toLowerCase(), Types.VARCHAR) .addValue("partName", Warehouse.makePartName(partCols, partVals), Types.VARCHAR) - .addValue("txnId", null, Types.BIGINT)); + .addValue("txnId", null, Types.BIGINT) + .addValue("cType", Character.toString(TxnStore.DEFERRED_CLEANUP), Types.CHAR)); } } } diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/jdbc/functions/MarkCleanedFunction.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/jdbc/functions/MarkCleanedFunction.java index 27b67d1feaeb..5c07e6549115 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/jdbc/functions/MarkCleanedFunction.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/jdbc/functions/MarkCleanedFunction.java @@ -50,7 +50,7 @@ public MarkCleanedFunction(CompactionInfo info) { public Void execute(MultiDataSourceJdbcResource jdbcResource) throws MetaException { NamedParameterJdbcTemplate jdbcTemplate = jdbcResource.getJdbcTemplate(); MapSqlParameterSource param; - if (info.isSoftDelete()) { + if (info.isDeferredCleanup()) { // Remove compaction queue record and return removeCompactionAndAbortRetryEntries(info, jdbcTemplate); return null;