[ https://issues.apache.org/jira/browse/HIVE-15367?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15727334#comment-15727334 ]
Hive QA commented on HIVE-15367: -------------------------------- Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12842038/HIVE-15367.2.patch {color:red}ERROR:{color} -1 due to no test(s) being added or modified. {color:red}ERROR:{color} -1 due to 17 failed/errored test(s), 10745 tests executed *Failed tests:* {noformat} TestMiniLlapLocalCliDriver - did not produce a TEST-*.xml file (likely timed out) (batchId=143) [vectorized_rcfile_columnar.q,vector_elt.q,explainuser_1.q,multi_insert.q,tez_dml.q,vector_bround.q,schema_evol_orc_acid_table.q,vector_when_case_null.q,orc_ppd_schema_evol_1b.q,vector_join30.q,vectorization_11.q,cte_3.q,update_tmp_table.q,vector_decimal_cast.q,groupby_grouping_id2.q,vector_decimal_round.q,tez_smb_empty.q,orc_merge6.q,vector_decimal_trailing.q,cte_5.q,tez_union.q,cbo_rp_subq_not_in.q,vector_decimal_2.q,columnStatsUpdateForStatsOptimizer_1.q,vector_outer_join3.q,schema_evol_text_vec_part_all_complex.q,tez_dynpart_hashjoin_2.q,auto_sortmerge_join_12.q,offset_limit.q,tez_union_multiinsert.q] org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[auto_sortmerge_join_2] (batchId=44) org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[sample2] (batchId=5) org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[sample4] (batchId=15) org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[sample6] (batchId=61) org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[sample7] (batchId=60) org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[sample9] (batchId=38) org.apache.hadoop.hive.cli.TestEncryptedHDFSCliDriver.testCliDriver[encryption_ctas] (batchId=155) org.apache.hadoop.hive.cli.TestMiniLlapCliDriver.testCliDriver[transform_ppr2] (batchId=134) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[stats_based_fetch_decision] (batchId=150) org.apache.hive.minikdc.TestJdbcWithDBTokenStore.testConnection (batchId=227) org.apache.hive.minikdc.TestJdbcWithDBTokenStore.testIsValid (batchId=227) org.apache.hive.minikdc.TestJdbcWithDBTokenStore.testIsValidNeg (batchId=227) org.apache.hive.minikdc.TestJdbcWithDBTokenStore.testNegativeProxyAuth (batchId=227) org.apache.hive.minikdc.TestJdbcWithDBTokenStore.testNegativeTokenAuth (batchId=227) org.apache.hive.minikdc.TestJdbcWithDBTokenStore.testProxyAuth (batchId=227) org.apache.hive.minikdc.TestJdbcWithDBTokenStore.testTokenAuth (batchId=227) {noformat} Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/2454/testReport Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/2454/console Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-2454/ Messages: {noformat} Executing org.apache.hive.ptest.execution.TestCheckPhase Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 17 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12842038 - PreCommit-HIVE-Build > CTAS with LOCATION should write temp data under location directory rather > than database location > ------------------------------------------------------------------------------------------------ > > Key: HIVE-15367 > URL: https://issues.apache.org/jira/browse/HIVE-15367 > Project: Hive > Issue Type: Bug > Components: Hive > Reporter: Sahil Takiar > Assignee: Sahil Takiar > Attachments: HIVE-15367.1.patch, HIVE-15367.2.patch > > > For regular CTAS queries, temp data from a SELECT query will be written to to > a staging directory under the database location. The code to control this is > in {{SemanticAnalyzer.java}} > {code} > // allocate a temporary output dir on the location of the table > String tableName = getUnescapedName((ASTNode) ast.getChild(0)); > String[] names = Utilities.getDbTableName(tableName); > Path location; > try { > Warehouse wh = new Warehouse(conf); > //Use destination table's db location. > String destTableDb = qb.getTableDesc() != null? > qb.getTableDesc().getDatabaseName(): null; > if (destTableDb == null) { > destTableDb = names[0]; > } > location = wh.getDatabasePath(db.getDatabase(destTableDb)); > } catch (MetaException e) { > throw new SemanticException(e); > } > {code} > However, CTAS queries allow specifying a {{LOCATION}} for the new table. Its > possible for this location to be on a different filesystem than the database > location. If this happens temp data will be written to the database > filesystem and will be copied to the table filesystem in {{MoveTask}}. > This extra copying of data can drastically affect performance. Rather than > always use the database location as the staging dir for CTAS queries, Hive > should first check if there is an explicit {{LOCATION}} specified in the CTAS > query. If there is, staging data should be stored under the {{LOCATION}} > directory. -- This message was sent by Atlassian JIRA (v6.3.4#6332)