[ https://issues.apache.org/jira/browse/HIVE-26414?focusedWorklogId=794108&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-794108 ]
ASF GitHub Bot logged work on HIVE-26414: ----------------------------------------- Author: ASF GitHub Bot Created on: 22/Jul/22 08:09 Start Date: 22/Jul/22 08:09 Worklog Time Spent: 10m Work Description: SourabhBadhya commented on code in PR #3457: URL: https://github.com/apache/hive/pull/3457#discussion_r927401945 ########## ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DbTxnManager.java: ########## @@ -485,6 +480,26 @@ private void clearLocksAndHB() { stopHeartbeat(); } + private void cleanupDirForCTAS() { + 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("location", destinationTable.getSd().getLocation()); + rqst.putToProperties("ifPurge", Boolean.toString(true)); + TxnStore txnHandler = TxnUtils.getTxnStore(conf); + txnHandler.submitForCleanup(rqst, destinationTable.getTTable().getWriteId(), getCurrentTxnId()); + } catch (InterruptedException | IOException | MetaException e) { + throw new RuntimeException("Not able to submit cleanup operation of directory written by CTAS"); Review Comment: All three exceptions are thrown within the `try-catch` code. Changed it to LockException instead of RuntimeException. Issue Time Tracking ------------------- Worklog Id: (was: 794108) Time Spent: 2h 40m (was: 2.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: 2h 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)