[ https://issues.apache.org/jira/browse/HIVE-26217?focusedWorklogId=777299&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-777299 ]
ASF GitHub Bot logged work on HIVE-26217: ----------------------------------------- Author: ASF GitHub Bot Created on: 02/Jun/22 06:59 Start Date: 02/Jun/22 06:59 Worklog Time Spent: 10m Work Description: SourabhBadhya commented on code in PR #3281: URL: https://github.com/apache/hive/pull/3281#discussion_r887625106 ########## ql/src/java/org/apache/hadoop/hive/ql/parse/TaskCompiler.java: ########## @@ -517,17 +517,21 @@ private Path getDefaultCtasLocation(final ParseContext pCtx) throws SemanticExce try { String protoName = null, suffix = ""; boolean isExternal = false; - + boolean useSuffix = HiveConf.getBoolVar(conf, HiveConf.ConfVars.HIVE_ACID_CREATE_TABLE_USE_SUFFIX) + || HiveConf.getBoolVar(conf, HiveConf.ConfVars.HIVE_ACID_LOCKLESS_READS_ENABLED); + if (pCtx.getQueryProperties().isCTAS()) { protoName = pCtx.getCreateTable().getDbTableName(); isExternal = pCtx.getCreateTable().isExternal(); - + if (!isExternal && useSuffix) { + long txnId = Optional.ofNullable(pCtx.getContext()) + .map(ctx -> ctx.getHiveTxnManager().getCurrentTxnId()).orElse(0L); + suffix = SOFT_DELETE_PATH_SUFFIX + String.format(DELTA_DIGITS, txnId); Review Comment: Updated. ########## ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java: ########## @@ -8229,9 +8299,17 @@ private void handleLineage(LoadTableDesc ltd, Operator output) Path tlocation = null; String tName = Utilities.getDbTableName(tableDesc.getDbTableName())[1]; try { + String suffix = ""; + if (AcidUtils.isTransactionalTable(destinationTable)) { Review Comment: Updated. Issue Time Tracking ------------------- Worklog Id: (was: 777299) Time Spent: 11.5h (was: 11h 20m) > Make CTAS use Direct Insert Semantics > ------------------------------------- > > Key: HIVE-26217 > URL: https://issues.apache.org/jira/browse/HIVE-26217 > Project: Hive > Issue Type: Improvement > Reporter: Sourabh Badhya > Assignee: Sourabh Badhya > Priority: Major > Labels: pull-request-available > Time Spent: 11.5h > Remaining Estimate: 0h > > CTAS on transactional tables currently does a copy from staging location to > table location. This can be avoided by using Direct Insert semantics. Added > support for suffixed table locations as well. -- This message was sent by Atlassian Jira (v8.20.7#820007)