[ https://issues.apache.org/jira/browse/HIVE-26414?focusedWorklogId=794160&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-794160 ]
ASF GitHub Bot logged work on HIVE-26414: ----------------------------------------- Author: ASF GitHub Bot Created on: 22/Jul/22 10:08 Start Date: 22/Jul/22 10:08 Worklog Time Spent: 10m Work Description: deniskuzZ commented on code in PR #3457: URL: https://github.com/apache/hive/pull/3457#discussion_r927504663 ########## ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DbTxnManager.java: ########## @@ -485,6 +496,26 @@ private void clearLocksAndHB() { stopHeartbeat(); } + private void cleanupDirForCTAS() throws LockException { + if (HiveConf.getBoolVar(conf, HiveConf.ConfVars.TXN_CTAS_X_LOCK)) { + if (destinationTable != null) { + try { + CompactionRequest rqst = new CompactionRequest( + destinationTable.getDbName(), destinationTable.getTableName(), CompactionType.MAJOR); + rqst.setRunas(TxnUtils.findUserToRunAs(destinationTable.getSd().getLocation(), + destinationTable.getTTable(), conf)); + + rqst.putToProperties(META_TABLE_LOCATION, destinationTable.getSd().getLocation()); + rqst.putToProperties(IF_PURGE, Boolean.toString(true)); + TxnStore txnHandler = TxnUtils.getTxnStore(conf); + txnHandler.submitForCleanup(rqst, destinationTable.getTTable().getWriteId(), getCurrentTxnId()); + } catch (InterruptedException | IOException | MetaException e) { Review Comment: we could simply do next: ```` private void cleanupOutputDir() throws MetaException { ...... } catch (InterruptedException | IOException e) { throwMetaException(e); } ```` Issue Time Tracking ------------------- Worklog Id: (was: 794160) Time Spent: 3h 40m (was: 3.5h) > Aborted/Cancelled CTAS operations must initiate cleanup of uncommitted data > --------------------------------------------------------------------------- > > Key: HIVE-26414 > URL: https://issues.apache.org/jira/browse/HIVE-26414 > Project: Hive > Issue Type: Improvement > Reporter: Sourabh Badhya > Assignee: Sourabh Badhya > Priority: Major > Labels: pull-request-available > Time Spent: 3h 40m > Remaining Estimate: 0h > > When a CTAS query fails before creation of table and after writing the data, > the data is present in the directory and not cleaned up currently by the > cleaner or any other mechanism currently. This is because the cleaner > requires a table corresponding to what its cleaning. In order surpass such a > situation, we can directly pass the relevant information to the cleaner so > that such uncommitted data is deleted. -- This message was sent by Atlassian Jira (v8.20.10#820010)