[jira] [Commented] (HIVE-18144) Runtime type inference error when join three table for different column type
[ https://issues.apache.org/jira/browse/HIVE-18144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16457865#comment-16457865 ] Hive QA commented on HIVE-18144: Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12900381/HIVE-18144.3.patch {color:green}SUCCESS:{color} +1 due to 1 test(s) being added or modified. {color:red}ERROR:{color} -1 due to 55 failed/errored test(s), 14288 tests executed *Failed tests:* {noformat} TestMinimrCliDriver - did not produce a TEST-*.xml file (likely timed out) (batchId=93) [infer_bucket_sort_num_buckets.q,infer_bucket_sort_reducers_power_two.q,parallel_orderby.q,bucket_num_reducers_acid.q,infer_bucket_sort_map_operators.q,infer_bucket_sort_merge.q,root_dir_external_table.q,infer_bucket_sort_dyn_part.q,udf_using.q,bucket_num_reducers_acid2.q] TestNonCatCallsWithCatalog - did not produce a TEST-*.xml file (likely timed out) (batchId=217) TestTxnExIm - did not produce a TEST-*.xml file (likely timed out) (batchId=286) org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[filter_in_or_dup] (batchId=36) org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[parquet_vectorization_0] (batchId=17) org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[union24] (batchId=62) org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[union_different_types_three] (batchId=22) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[explainuser_1] (batchId=162) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[llap_smb] (batchId=176) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[materialized_view_create_rewrite_5] (batchId=154) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[schema_evol_stats] (batchId=168) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[schema_evol_text_vec_part] (batchId=168) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[sysdb] (batchId=163) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[tez_smb_main] (batchId=160) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[union_fast_stats] (batchId=167) org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver[spark_explainuser_1] (batchId=183) org.apache.hadoop.hive.cli.TestMiniTezCliDriver.testCliDriver[explainanalyze_5] (batchId=105) org.apache.hadoop.hive.cli.TestNegativeCliDriver.testCliDriver[udf_reflect_neg] (batchId=96) org.apache.hadoop.hive.cli.TestNegativeCliDriver.testCliDriver[udf_test_error] (batchId=96) org.apache.hadoop.hive.cli.TestNegativeMinimrCliDriver.testCliDriver[cluster_tasklog_retrieval] (batchId=98) org.apache.hadoop.hive.cli.TestNegativeMinimrCliDriver.testCliDriver[mapreduce_stack_trace] (batchId=98) org.apache.hadoop.hive.cli.TestNegativeMinimrCliDriver.testCliDriver[mapreduce_stack_trace_turnoff] (batchId=98) org.apache.hadoop.hive.cli.TestNegativeMinimrCliDriver.testCliDriver[minimr_broken_pipe] (batchId=98) org.apache.hadoop.hive.ql.TestMTQueries.testMTQueries1 (batchId=232) org.apache.hadoop.hive.ql.parse.TestCopyUtils.testPrivilegedDistCpWithSameUserAsCurrentDoesNotTryToImpersonate (batchId=231) org.apache.hadoop.hive.ql.parse.TestReplicationOnHDFSEncryptedZones.targetAndSourceHaveDifferentEncryptionZoneKeys (batchId=231) org.apache.hadoop.hive.ql.plan.mapping.TestOperatorCmp.testDifferentFiltersAreNotMatched (batchId=298) org.apache.hadoop.hive.ql.plan.mapping.TestOperatorCmp.testSameFiltersMatched (batchId=298) org.apache.hadoop.hive.ql.plan.mapping.TestOperatorCmp.testUnrelatedFiltersAreNotMatched0 (batchId=298) org.apache.hadoop.hive.ql.plan.mapping.TestOperatorCmp.testUnrelatedFiltersAreNotMatched1 (batchId=298) org.apache.hadoop.hive.ql.plan.mapping.TestReOptimization.testNotReExecutedIfAssertionError (batchId=298) org.apache.hive.beeline.TestBeeLineWithArgs.testQueryProgress (batchId=235) org.apache.hive.beeline.TestBeeLineWithArgs.testQueryProgressParallel (batchId=235) org.apache.hive.jdbc.TestJdbcDriver2.testResultSetMetaData (batchId=240) org.apache.hive.jdbc.TestSSL.testSSLFetchHttp (batchId=239) org.apache.hive.jdbc.TestTriggersWorkloadManager.testMultipleTriggers2 (batchId=242) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerCustomCreatedFiles (batchId=242) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerCustomNonExistent (batchId=242) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerCustomReadOps (batchId=242) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerHighBytesRead (batchId=242) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerHighBytesWrite (batchId=242) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerHighShuffleBytes (batchId=242) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerSlowQueryElapsedTime (batchId=242)
[jira] [Commented] (HIVE-18144) Runtime type inference error when join three table for different column type
[ https://issues.apache.org/jira/browse/HIVE-18144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16457856#comment-16457856 ] Hive QA commented on HIVE-18144: | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || || || || || {color:brown} Prechecks {color} || | {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue} 0m 0s{color} | {color:blue} Findbugs executables are not available. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 8m 36s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 16s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 46s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 7s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 40s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 14s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 14s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 45s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 4s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 17s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 17m 3s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Optional Tests | asflicense javac javadoc findbugs checkstyle compile | | uname | Linux hiveptest-server-upstream 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux | | Build tool | maven | | Personality | /data/hiveptest/working/yetus_PreCommit-HIVE-Build-10562/dev-support/hive-personality.sh | | git revision | master / 8349dbd | | Default Java | 1.8.0_111 | | modules | C: ql U: ql | | Console output | http://104.198.109.242/logs//PreCommit-HIVE-Build-10562/yetus.txt | | Powered by | Apache Yetushttp://yetus.apache.org | This message was automatically generated. > Runtime type inference error when join three table for different column type > - > > Key: HIVE-18144 > URL: https://issues.apache.org/jira/browse/HIVE-18144 > Project: Hive > Issue Type: Bug > Components: Query Planning >Affects Versions: 2.1.1, 2.2.0 >Reporter: Wang Haihua >Assignee: Wang Haihua >Priority: Major > Attachments: HIVE-18144.1.patch, HIVE-18144.2.patch, > HIVE-18144.3.patch > > > Union operation with three or more table, which has different column types, > may cause type inference error when Task execution. > E.g, e.g. t1(with column int) union all t2(with column int) union all t3(with > column bigint), finally should be {{bigint}}, > RowSchema of union t1 with t2, we call {{leftOp}}, should be int, then leftOp > union t3 should finally be bigint. > This mean RowSchema of leftOp would be {{bigint}} instead of {{int}} > However we see in {{SemanticAnalyzer.java}}, leftOp RowSchema is finally > {{int}} which was wrong: > {code} > (_col0: int|{t01-subquery1}diff_long_type,_col1: > int|{t01-subquery1}id2,_col2: bigint|{t01-subquery1}id3)}} > {code} > Impacted code in SemanticAnalyzer.java: > {code} > if(!(leftOp instanceof UnionOperator)) { > Operator oldChild = leftOp; > leftOp = (Operator) leftOp.getParentOperators().get(0); > leftOp.removeChildAndAdoptItsChildren(oldChild); > } > // make left a child of right > Listchild = > new ArrayList (); > child.add(leftOp); > rightOp.setChildOperators(child); > List parent = leftOp > .getParentOperators(); > parent.add(rightOp); > UnionDesc uDesc = ((UnionOperator) leftOp).getConf(); >
[jira] [Commented] (HIVE-18144) Runtime type inference error when join three table for different column type
[ https://issues.apache.org/jira/browse/HIVE-18144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16457720#comment-16457720 ] Wang Haihua commented on HIVE-18144: cc [~pxiong] could you please see this again? > Runtime type inference error when join three table for different column type > - > > Key: HIVE-18144 > URL: https://issues.apache.org/jira/browse/HIVE-18144 > Project: Hive > Issue Type: Bug > Components: Query Planning >Affects Versions: 2.1.1, 2.2.0 >Reporter: Wang Haihua >Assignee: Wang Haihua >Priority: Major > Attachments: HIVE-18144.1.patch, HIVE-18144.2.patch, > HIVE-18144.3.patch > > > Union operation with three or more table, which has different column types, > may cause type inference error when Task execution. > E.g, e.g. t1(with column int) union all t2(with column int) union all t3(with > column bigint), finally should be {{bigint}}, > RowSchema of union t1 with t2, we call {{leftOp}}, should be int, then leftOp > union t3 should finally be bigint. > This mean RowSchema of leftOp would be {{bigint}} instead of {{int}} > However we see in {{SemanticAnalyzer.java}}, leftOp RowSchema is finally > {{int}} which was wrong: > {code} > (_col0: int|{t01-subquery1}diff_long_type,_col1: > int|{t01-subquery1}id2,_col2: bigint|{t01-subquery1}id3)}} > {code} > Impacted code in SemanticAnalyzer.java: > {code} > if(!(leftOp instanceof UnionOperator)) { > Operator oldChild = leftOp; > leftOp = (Operator) leftOp.getParentOperators().get(0); > leftOp.removeChildAndAdoptItsChildren(oldChild); > } > // make left a child of right > Listchild = > new ArrayList (); > child.add(leftOp); > rightOp.setChildOperators(child); > List parent = leftOp > .getParentOperators(); > parent.add(rightOp); > UnionDesc uDesc = ((UnionOperator) leftOp).getConf(); > // Here we should set RowSchema of leftOp to unionoutRR's, or else the > RowSchema of leftOp is wrong. > // leftOp.setSchema(new RowSchema(unionoutRR.getColumnInfos())); > uDesc.setNumInputs(uDesc.getNumInputs() + 1); > return putOpInsertMap(leftOp, unionoutRR); > {code} > Operation for reproduce: > {code} > create table test_union_different_type(id bigint, id2 bigint, id3 bigint, > name string); > set hive.auto.convert.join=true; > insert overwrite table test_union_different_type select 1, 2, 3, > "test_union_different_type"; > select > t01.diff_long_type as diff_long_type, > t01.id2 as id2, > t00.id as id, > t01.id3 as id3 > from test_union_different_type t00 > left join > ( > select 1 as diff_long_type, 30 as id2, id3 from test_union_different_type > union ALL > select 2 as diff_long_type, 20 as id2, id3 from test_union_different_type > union ALL > select id as diff_long_type, id2, 30 as id3 from test_union_different_type > ) t01 > on t00.id = t01.diff_long_type > ; > {code} > Stack trace: > {code} > Diagnostic Messages for this Task: > Error: java.lang.RuntimeException: > org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while > processing row {"id":1,"id2":null,"id3":null,"name":null} > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:169) > at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) > at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343) > at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693) > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime > Error while processing row {"id":1,"id2":null,"id3":null,"name":null} > at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:499) > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:160) > ... 8 more > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unexpected > exception from MapJoinOperator : org.apache.hadoop.io.LongWritable cannot be > cast to org.apache.hadoop.io.IntWritable > at > org.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:465) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:879) > at > org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:130) > at > org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.forward(MapOperator.java:149) > at
[jira] [Commented] (HIVE-18144) Runtime type inference error when join three table for different column type
[ https://issues.apache.org/jira/browse/HIVE-18144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16276165#comment-16276165 ] Hive QA commented on HIVE-18144: Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12900381/HIVE-18144.3.patch {color:red}ERROR:{color} -1 due to build exiting with an error Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/8093/testReport Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/8093/console Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-8093/ Messages: {noformat} Executing org.apache.hive.ptest.execution.TestCheckPhase Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.YetusPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Tests exited with: RuntimeException: Waited over fours for hosts, still have only 6 hosts out of an expected 12 {noformat} This message is automatically generated. ATTACHMENT ID: 12900381 - PreCommit-HIVE-Build > Runtime type inference error when join three table for different column type > - > > Key: HIVE-18144 > URL: https://issues.apache.org/jira/browse/HIVE-18144 > Project: Hive > Issue Type: Bug > Components: Query Planning >Affects Versions: 2.1.1, 2.2.0 >Reporter: Wang Haihua >Assignee: Wang Haihua > Attachments: HIVE-18144.1.patch, HIVE-18144.2.patch, > HIVE-18144.3.patch > > > Union operation with three or more table, which has different column types, > may cause type inference error when Task execution. > E.g, e.g. t1(with column int) union all t2(with column int) union all t3(with > column bigint), finally should be {{bigint}}, > RowSchema of union t1 with t2, we call {{leftOp}}, should be int, then leftOp > union t3 should finally be bigint. > This mean RowSchema of leftOp would be {{bigint}} instead of {{int}} > However we see in {{SemanticAnalyzer.java}}, leftOp RowSchema is finally > {{int}} which was wrong: > {code} > (_col0: int|{t01-subquery1}diff_long_type,_col1: > int|{t01-subquery1}id2,_col2: bigint|{t01-subquery1}id3)}} > {code} > Impacted code in SemanticAnalyzer.java: > {code} > if(!(leftOp instanceof UnionOperator)) { > Operator oldChild = leftOp; > leftOp = (Operator) leftOp.getParentOperators().get(0); > leftOp.removeChildAndAdoptItsChildren(oldChild); > } > // make left a child of right > Listchild = > new ArrayList (); > child.add(leftOp); > rightOp.setChildOperators(child); > List parent = leftOp > .getParentOperators(); > parent.add(rightOp); > UnionDesc uDesc = ((UnionOperator) leftOp).getConf(); > // Here we should set RowSchema of leftOp to unionoutRR's, or else the > RowSchema of leftOp is wrong. > // leftOp.setSchema(new RowSchema(unionoutRR.getColumnInfos())); > uDesc.setNumInputs(uDesc.getNumInputs() + 1); > return putOpInsertMap(leftOp, unionoutRR); > {code} > Operation for reproduce: > {code} > create table test_union_different_type(id bigint, id2 bigint, id3 bigint, > name string); > set hive.auto.convert.join=true; > insert overwrite table test_union_different_type select 1, 2, 3, > "test_union_different_type"; > select > t01.diff_long_type as diff_long_type, > t01.id2 as id2, > t00.id as id, > t01.id3 as id3 > from test_union_different_type t00 > left join > ( > select 1 as diff_long_type, 30 as id2, id3 from test_union_different_type > union ALL > select 2 as diff_long_type, 20 as id2, id3 from test_union_different_type > union ALL > select id as diff_long_type, id2, 30 as id3 from test_union_different_type > ) t01 > on t00.id = t01.diff_long_type > ; > {code} > Stack trace: > {code} > Diagnostic Messages for this Task: > Error: java.lang.RuntimeException: > org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while > processing row {"id":1,"id2":null,"id3":null,"name":null} > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:169) > at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) > at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343) > at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693) > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime > Error while processing row
[jira] [Commented] (HIVE-18144) Runtime type inference error when join three table for different column type
[ https://issues.apache.org/jira/browse/HIVE-18144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16276013#comment-16276013 ] Hive QA commented on HIVE-18144: | (/) *{color:green}+1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || || || || || {color:brown} Prechecks {color} || | {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue} 0m 0s{color} | {color:blue} Findbugs executables are not available. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 4m 54s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 57s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 39s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 55s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 16s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 56s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 56s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 38s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 54s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 12s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 11m 32s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Optional Tests | asflicense javac javadoc findbugs checkstyle compile | | uname | Linux hiveptest-server-upstream 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux | | Build tool | maven | | Personality | /data/hiveptest/working/yetus/dev-support/hive-personality.sh | | git revision | master / 5f12cb8 | | Default Java | 1.8.0_111 | | modules | C: ql U: ql | | Console output | http://104.198.109.242/logs//PreCommit-HIVE-Build-8093/yetus.txt | | Powered by | Apache Yetushttp://yetus.apache.org | This message was automatically generated. > Runtime type inference error when join three table for different column type > - > > Key: HIVE-18144 > URL: https://issues.apache.org/jira/browse/HIVE-18144 > Project: Hive > Issue Type: Bug > Components: Query Planning >Affects Versions: 2.1.1, 2.2.0 >Reporter: Wang Haihua >Assignee: Wang Haihua > Attachments: HIVE-18144.1.patch, HIVE-18144.2.patch, > HIVE-18144.3.patch > > > Union operation with three or more table, which has different column types, > may cause type inference error when Task execution. > E.g, e.g. t1(with column int) union all t2(with column int) union all t3(with > column bigint), finally should be {{bigint}}, > RowSchema of union t1 with t2, we call {{leftOp}}, should be int, then leftOp > union t3 should finally be bigint. > This mean RowSchema of leftOp would be {{bigint}} instead of {{int}} > However we see in {{SemanticAnalyzer.java}}, leftOp RowSchema is finally > {{int}} which was wrong: > {code} > (_col0: int|{t01-subquery1}diff_long_type,_col1: > int|{t01-subquery1}id2,_col2: bigint|{t01-subquery1}id3)}} > {code} > Impacted code in SemanticAnalyzer.java: > {code} > if(!(leftOp instanceof UnionOperator)) { > Operator oldChild = leftOp; > leftOp = (Operator) leftOp.getParentOperators().get(0); > leftOp.removeChildAndAdoptItsChildren(oldChild); > } > // make left a child of right > Listchild = > new ArrayList (); > child.add(leftOp); > rightOp.setChildOperators(child); > List parent = leftOp > .getParentOperators(); > parent.add(rightOp); > UnionDesc uDesc = ((UnionOperator) leftOp).getConf(); > // Here we should set RowSchema of leftOp to
[jira] [Commented] (HIVE-18144) Runtime type inference error when join three table for different column type
[ https://issues.apache.org/jira/browse/HIVE-18144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16275967#comment-16275967 ] Hive QA commented on HIVE-18144: Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12900376/HIVE-18144.2.patch {color:green}SUCCESS:{color} +1 due to 1 test(s) being added or modified. {color:red}ERROR:{color} -1 due to 8 failed/errored test(s), 11463 tests executed *Failed tests:* {noformat} org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[auto_sortmerge_join_2] (batchId=48) org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[union_different_types_three] (batchId=21) org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[vector_complex_join] (batchId=44) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[hybridgrace_hashjoin_2] (batchId=157) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[insert_values_orig_table_use_metadata] (batchId=165) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[sysdb] (batchId=160) org.apache.hadoop.hive.ql.exec.tez.TestWorkloadManager.testApplyPlanQpChanges (batchId=286) org.apache.hadoop.hive.ql.parse.TestReplicationScenarios.org.apache.hadoop.hive.ql.parse.TestReplicationScenarios (batchId=227) {noformat} Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/8091/testReport Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/8091/console Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-8091/ Messages: {noformat} Executing org.apache.hive.ptest.execution.TestCheckPhase Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.YetusPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 8 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12900376 - PreCommit-HIVE-Build > Runtime type inference error when join three table for different column type > - > > Key: HIVE-18144 > URL: https://issues.apache.org/jira/browse/HIVE-18144 > Project: Hive > Issue Type: Bug > Components: Query Planning >Affects Versions: 2.1.1, 2.2.0 >Reporter: Wang Haihua >Assignee: Wang Haihua > Attachments: HIVE-18144.1.patch, HIVE-18144.2.patch > > > Union operation with three or more table, which has different column types, > may cause type inference error when Task execution. > E.g, e.g. t1(with column int) union all t2(with column int) union all t3(with > column bigint), finally should be {{bigint}}, > RowSchema of union t1 with t2, we call {{leftOp}}, should be int, then leftOp > union t3 should finally be bigint. > This mean RowSchema of leftOp would be {{bigint}} instead of {{int}} > However we see in {{SemanticAnalyzer.java}}, leftOp RowSchema is finally > {{int}} which was wrong: > {code} > (_col0: int|{t01-subquery1}diff_long_type,_col1: > int|{t01-subquery1}id2,_col2: bigint|{t01-subquery1}id3)}} > {code} > Impacted code in SemanticAnalyzer.java: > {code} > if(!(leftOp instanceof UnionOperator)) { > Operator oldChild = leftOp; > leftOp = (Operator) leftOp.getParentOperators().get(0); > leftOp.removeChildAndAdoptItsChildren(oldChild); > } > // make left a child of right > Listchild = > new ArrayList (); > child.add(leftOp); > rightOp.setChildOperators(child); > List parent = leftOp > .getParentOperators(); > parent.add(rightOp); > UnionDesc uDesc = ((UnionOperator) leftOp).getConf(); > // Here we should set RowSchema of leftOp to unionoutRR's, or else the > RowSchema of leftOp is wrong. > // leftOp.setSchema(new RowSchema(unionoutRR.getColumnInfos())); > uDesc.setNumInputs(uDesc.getNumInputs() + 1); > return putOpInsertMap(leftOp, unionoutRR); > {code} > Operation for reproduce: > {code} > create table test_union_different_type(id bigint, id2 bigint, id3 bigint, > name string); > set hive.auto.convert.join=true; > insert overwrite table test_union_different_type select 1, 2, 3, > "test_union_different_type"; > select > t01.diff_long_type as diff_long_type, > t01.id2 as id2, > t00.id as id, > t01.id3 as id3 > from test_union_different_type t00 > left join > ( > select 1 as diff_long_type, 30 as id2, id3 from test_union_different_type > union ALL > select 2 as diff_long_type, 20 as id2, id3 from test_union_different_type > union ALL > select id as diff_long_type, id2, 30 as id3 from test_union_different_type > ) t01 > on t00.id = t01.diff_long_type > ; > {code} > Stack trace: > {code} > Diagnostic Messages
[jira] [Commented] (HIVE-18144) Runtime type inference error when join three table for different column type
[ https://issues.apache.org/jira/browse/HIVE-18144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16275953#comment-16275953 ] Hive QA commented on HIVE-18144: | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || || || || || {color:brown} Prechecks {color} || | {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue} 0m 0s{color} | {color:blue} Findbugs executables are not available. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 5m 36s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 3s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 41s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 51s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 19s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 0s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 0s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 41s{color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s{color} | {color:red} The patch has 1 line(s) that end in whitespace. Use git apply --whitespace=fix <>. Refer https://git-scm.com/docs/git-apply {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 56s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 12s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 12m 39s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Optional Tests | asflicense javac javadoc findbugs checkstyle compile | | uname | Linux hiveptest-server-upstream 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux | | Build tool | maven | | Personality | /data/hiveptest/working/yetus/dev-support/hive-personality.sh | | git revision | master / 5f12cb8 | | Default Java | 1.8.0_111 | | whitespace | http://104.198.109.242/logs//PreCommit-HIVE-Build-8091/yetus/whitespace-eol.txt | | modules | C: ql U: ql | | Console output | http://104.198.109.242/logs//PreCommit-HIVE-Build-8091/yetus.txt | | Powered by | Apache Yetushttp://yetus.apache.org | This message was automatically generated. > Runtime type inference error when join three table for different column type > - > > Key: HIVE-18144 > URL: https://issues.apache.org/jira/browse/HIVE-18144 > Project: Hive > Issue Type: Bug > Components: Query Planning >Affects Versions: 2.1.1, 2.2.0 >Reporter: Wang Haihua >Assignee: Wang Haihua > Attachments: HIVE-18144.1.patch, HIVE-18144.2.patch > > > Union operation with three or more table, which has different column types, > may cause type inference error when Task execution. > E.g, e.g. t1(with column int) union all t2(with column int) union all t3(with > column bigint), finally should be {{bigint}}, > RowSchema of union t1 with t2, we call {{leftOp}}, should be int, then leftOp > union t3 should finally be bigint. > This mean RowSchema of leftOp would be {{bigint}} instead of {{int}} > However we see in {{SemanticAnalyzer.java}}, leftOp RowSchema is finally > {{int}} which was wrong: > {code} > (_col0: int|{t01-subquery1}diff_long_type,_col1: > int|{t01-subquery1}id2,_col2: bigint|{t01-subquery1}id3)}} > {code} > Impacted code in SemanticAnalyzer.java: > {code} > if(!(leftOp instanceof UnionOperator)) { > Operator oldChild = leftOp; > leftOp = (Operator) leftOp.getParentOperators().get(0); > leftOp.removeChildAndAdoptItsChildren(oldChild); > } > // make left a child of right > Listchild = > new ArrayList (); > child.add(leftOp); > rightOp.setChildOperators(child); > List parent = leftOp >
[jira] [Commented] (HIVE-18144) Runtime type inference error when join three table for different column type
[ https://issues.apache.org/jira/browse/HIVE-18144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16275931#comment-16275931 ] Wang Haihua commented on HIVE-18144: Ok, [~pxiong] I just update ptest with "set hive.cbo.enable=false", local test result is the same as before, just upload and re-run the ptest. > Runtime type inference error when join three table for different column type > - > > Key: HIVE-18144 > URL: https://issues.apache.org/jira/browse/HIVE-18144 > Project: Hive > Issue Type: Bug > Components: Query Planning >Affects Versions: 2.1.1, 2.2.0 >Reporter: Wang Haihua >Assignee: Wang Haihua > Attachments: HIVE-18144.1.patch, HIVE-18144.2.patch > > > Union operation with three or more table, which has different column types, > may cause type inference error when Task execution. > E.g, e.g. t1(with column int) union all t2(with column int) union all t3(with > column bigint), finally should be {{bigint}}, > RowSchema of union t1 with t2, we call {{leftOp}}, should be int, then leftOp > union t3 should finally be bigint. > This mean RowSchema of leftOp would be {{bigint}} instead of {{int}} > However we see in {{SemanticAnalyzer.java}}, leftOp RowSchema is finally > {{int}} which was wrong: > {code} > (_col0: int|{t01-subquery1}diff_long_type,_col1: > int|{t01-subquery1}id2,_col2: bigint|{t01-subquery1}id3)}} > {code} > Impacted code in SemanticAnalyzer.java: > {code} > if(!(leftOp instanceof UnionOperator)) { > Operator oldChild = leftOp; > leftOp = (Operator) leftOp.getParentOperators().get(0); > leftOp.removeChildAndAdoptItsChildren(oldChild); > } > // make left a child of right > Listchild = > new ArrayList (); > child.add(leftOp); > rightOp.setChildOperators(child); > List parent = leftOp > .getParentOperators(); > parent.add(rightOp); > UnionDesc uDesc = ((UnionOperator) leftOp).getConf(); > // Here we should set RowSchema of leftOp to unionoutRR's, or else the > RowSchema of leftOp is wrong. > // leftOp.setSchema(new RowSchema(unionoutRR.getColumnInfos())); > uDesc.setNumInputs(uDesc.getNumInputs() + 1); > return putOpInsertMap(leftOp, unionoutRR); > {code} > Operation for reproduce: > {code} > create table test_union_different_type(id bigint, id2 bigint, id3 bigint, > name string); > set hive.auto.convert.join=true; > insert overwrite table test_union_different_type select 1, 2, 3, > "test_union_different_type"; > select > t01.diff_long_type as diff_long_type, > t01.id2 as id2, > t00.id as id, > t01.id3 as id3 > from test_union_different_type t00 > left join > ( > select 1 as diff_long_type, 30 as id2, id3 from test_union_different_type > union ALL > select 2 as diff_long_type, 20 as id2, id3 from test_union_different_type > union ALL > select id as diff_long_type, id2, 30 as id3 from test_union_different_type > ) t01 > on t00.id = t01.diff_long_type > ; > {code} > Stack trace: > {code} > Diagnostic Messages for this Task: > Error: java.lang.RuntimeException: > org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while > processing row {"id":1,"id2":null,"id3":null,"name":null} > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:169) > at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) > at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343) > at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693) > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime > Error while processing row {"id":1,"id2":null,"id3":null,"name":null} > at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:499) > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:160) > ... 8 more > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unexpected > exception from MapJoinOperator : org.apache.hadoop.io.LongWritable cannot be > cast to org.apache.hadoop.io.IntWritable > at > org.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:465) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:879) > at > org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:130) > at >
[jira] [Commented] (HIVE-18144) Runtime type inference error when join three table for different column type
[ https://issues.apache.org/jira/browse/HIVE-18144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16275695#comment-16275695 ] Pengcheng Xiong commented on HIVE-18144: [~wanghaihua], can you add "set hive.cbo.enable=false" in your ptest file and test again? > Runtime type inference error when join three table for different column type > - > > Key: HIVE-18144 > URL: https://issues.apache.org/jira/browse/HIVE-18144 > Project: Hive > Issue Type: Bug > Components: Query Planning >Affects Versions: 2.1.1, 2.2.0 >Reporter: Wang Haihua >Assignee: Wang Haihua > Attachments: HIVE-18144.1.patch > > > Union operation with three or more table, which has different column types, > may cause type inference error when Task execution. > E.g, e.g. t1(with column int) union all t2(with column int) union all t3(with > column bigint), finally should be {{bigint}}, > RowSchema of union t1 with t2, we call {{leftOp}}, should be int, then leftOp > union t3 should finally be bigint. > This mean RowSchema of leftOp would be {{bigint}} instead of {{int}} > However we see in {{SemanticAnalyzer.java}}, leftOp RowSchema is finally > {{int}} which was wrong: > {code} > (_col0: int|{t01-subquery1}diff_long_type,_col1: > int|{t01-subquery1}id2,_col2: bigint|{t01-subquery1}id3)}} > {code} > Impacted code in SemanticAnalyzer.java: > {code} > if(!(leftOp instanceof UnionOperator)) { > Operator oldChild = leftOp; > leftOp = (Operator) leftOp.getParentOperators().get(0); > leftOp.removeChildAndAdoptItsChildren(oldChild); > } > // make left a child of right > Listchild = > new ArrayList (); > child.add(leftOp); > rightOp.setChildOperators(child); > List parent = leftOp > .getParentOperators(); > parent.add(rightOp); > UnionDesc uDesc = ((UnionOperator) leftOp).getConf(); > // Here we should set RowSchema of leftOp to unionoutRR's, or else the > RowSchema of leftOp is wrong. > // leftOp.setSchema(new RowSchema(unionoutRR.getColumnInfos())); > uDesc.setNumInputs(uDesc.getNumInputs() + 1); > return putOpInsertMap(leftOp, unionoutRR); > {code} > Operation for reproduce: > {code} > create table test_union_different_type(id bigint, id2 bigint, id3 bigint, > name string); > set hive.auto.convert.join=true; > insert overwrite table test_union_different_type select 1, 2, 3, > "test_union_different_type"; > select > t01.diff_long_type as diff_long_type, > t01.id2 as id2, > t00.id as id, > t01.id3 as id3 > from test_union_different_type t00 > left join > ( > select 1 as diff_long_type, 30 as id2, id3 from test_union_different_type > union ALL > select 2 as diff_long_type, 20 as id2, id3 from test_union_different_type > union ALL > select id as diff_long_type, id2, 30 as id3 from test_union_different_type > ) t01 > on t00.id = t01.diff_long_type > ; > {code} > Stack trace: > {code} > Diagnostic Messages for this Task: > Error: java.lang.RuntimeException: > org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while > processing row {"id":1,"id2":null,"id3":null,"name":null} > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:169) > at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) > at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343) > at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693) > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime > Error while processing row {"id":1,"id2":null,"id3":null,"name":null} > at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:499) > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:160) > ... 8 more > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unexpected > exception from MapJoinOperator : org.apache.hadoop.io.LongWritable cannot be > cast to org.apache.hadoop.io.IntWritable > at > org.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:465) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:879) > at > org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:130) > at > org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.forward(MapOperator.java:149) > at
[jira] [Commented] (HIVE-18144) Runtime type inference error when join three table for different column type
[ https://issues.apache.org/jira/browse/HIVE-18144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16275445#comment-16275445 ] Wang Haihua commented on HIVE-18144: [~pxiong] we formerly found this bug in 2.1/2.2 and in condition of MapJoin. For master branch, i saw query of ptest file just succeed before fixed, which mean i have not found a way to Reproduce this bug. But from code analysis below, i saw this bug still exists in master branch. > Runtime type inference error when join three table for different column type > - > > Key: HIVE-18144 > URL: https://issues.apache.org/jira/browse/HIVE-18144 > Project: Hive > Issue Type: Bug > Components: Query Planning >Affects Versions: 2.1.1, 2.2.0 >Reporter: Wang Haihua >Assignee: Wang Haihua > Attachments: HIVE-18144.1.patch > > > Union operation with three or more table, which has different column types, > may cause type inference error when Task execution. > E.g, e.g. t1(with column int) union all t2(with column int) union all t3(with > column bigint), finally should be {{bigint}}, > RowSchema of union t1 with t2, we call {{leftOp}}, should be int, then leftOp > union t3 should finally be bigint. > This mean RowSchema of leftOp would be {{bigint}} instead of {{int}} > However we see in {{SemanticAnalyzer.java}}, leftOp RowSchema is finally > {{int}} which was wrong: > {code} > (_col0: int|{t01-subquery1}diff_long_type,_col1: > int|{t01-subquery1}id2,_col2: bigint|{t01-subquery1}id3)}} > {code} > Impacted code in SemanticAnalyzer.java: > {code} > if(!(leftOp instanceof UnionOperator)) { > Operator oldChild = leftOp; > leftOp = (Operator) leftOp.getParentOperators().get(0); > leftOp.removeChildAndAdoptItsChildren(oldChild); > } > // make left a child of right > Listchild = > new ArrayList (); > child.add(leftOp); > rightOp.setChildOperators(child); > List parent = leftOp > .getParentOperators(); > parent.add(rightOp); > UnionDesc uDesc = ((UnionOperator) leftOp).getConf(); > // Here we should set RowSchema of leftOp to unionoutRR's, or else the > RowSchema of leftOp is wrong. > // leftOp.setSchema(new RowSchema(unionoutRR.getColumnInfos())); > uDesc.setNumInputs(uDesc.getNumInputs() + 1); > return putOpInsertMap(leftOp, unionoutRR); > {code} > Operation for reproduce: > {code} > create table test_union_different_type(id bigint, id2 bigint, id3 bigint, > name string); > set hive.auto.convert.join=true; > insert overwrite table test_union_different_type select 1, 2, 3, > "test_union_different_type"; > select > t01.diff_long_type as diff_long_type, > t01.id2 as id2, > t00.id as id, > t01.id3 as id3 > from test_union_different_type t00 > left join > ( > select 1 as diff_long_type, 30 as id2, id3 from test_union_different_type > union ALL > select 2 as diff_long_type, 20 as id2, id3 from test_union_different_type > union ALL > select id as diff_long_type, id2, 30 as id3 from test_union_different_type > ) t01 > on t00.id = t01.diff_long_type > ; > {code} > Stack trace: > {code} > Diagnostic Messages for this Task: > Error: java.lang.RuntimeException: > org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while > processing row {"id":1,"id2":null,"id3":null,"name":null} > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:169) > at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) > at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343) > at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693) > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime > Error while processing row {"id":1,"id2":null,"id3":null,"name":null} > at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:499) > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:160) > ... 8 more > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unexpected > exception from MapJoinOperator : org.apache.hadoop.io.LongWritable cannot be > cast to org.apache.hadoop.io.IntWritable > at > org.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:465) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:879) > at >
[jira] [Commented] (HIVE-18144) Runtime type inference error when join three table for different column type
[ https://issues.apache.org/jira/browse/HIVE-18144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16273968#comment-16273968 ] Pengcheng Xiong commented on HIVE-18144: LGTM. I saw you put 2.1 and 2.2 as affected versions. How about master? > Runtime type inference error when join three table for different column type > - > > Key: HIVE-18144 > URL: https://issues.apache.org/jira/browse/HIVE-18144 > Project: Hive > Issue Type: Bug > Components: Query Planning >Affects Versions: 2.1.1, 2.2.0 >Reporter: Wang Haihua >Assignee: Wang Haihua > Attachments: HIVE-18144.1.patch > > > Union operation with three or more table, which has different column types, > may cause type inference error when Task execution. > E.g, e.g. t1(with column int) union all t2(with column int) union all t3(with > column bigint), finally should be {{bigint}}, > RowSchema of union t1 with t2, we call {{leftOp}}, should be int, then leftOp > union t3 should finally be bigint. > This mean RowSchema of leftOp would be {{bigint}} instead of {{int}} > However we see in {{SemanticAnalyzer.java}}, leftOp RowSchema is finally > {{int}} which was wrong: > {code} > (_col0: int|{t01-subquery1}diff_long_type,_col1: > int|{t01-subquery1}id2,_col2: bigint|{t01-subquery1}id3)}} > {code} > Impacted code in SemanticAnalyzer.java: > {code} > if(!(leftOp instanceof UnionOperator)) { > Operator oldChild = leftOp; > leftOp = (Operator) leftOp.getParentOperators().get(0); > leftOp.removeChildAndAdoptItsChildren(oldChild); > } > // make left a child of right > Listchild = > new ArrayList (); > child.add(leftOp); > rightOp.setChildOperators(child); > List parent = leftOp > .getParentOperators(); > parent.add(rightOp); > UnionDesc uDesc = ((UnionOperator) leftOp).getConf(); > // Here we should set RowSchema of leftOp to unionoutRR's, or else the > RowSchema of leftOp is wrong. > // leftOp.setSchema(new RowSchema(unionoutRR.getColumnInfos())); > uDesc.setNumInputs(uDesc.getNumInputs() + 1); > return putOpInsertMap(leftOp, unionoutRR); > {code} > Operation for reproduce: > {code} > create table test_union_different_type(id bigint, id2 bigint, id3 bigint, > name string); > set hive.auto.convert.join=true; > insert overwrite table test_union_different_type select 1, 2, 3, > "test_union_different_type"; > select > t01.diff_long_type as diff_long_type, > t01.id2 as id2, > t00.id as id, > t01.id3 as id3 > from test_union_different_type t00 > left join > ( > select 1 as diff_long_type, 30 as id2, id3 from test_union_different_type > union ALL > select 2 as diff_long_type, 20 as id2, id3 from test_union_different_type > union ALL > select id as diff_long_type, id2, 30 as id3 from test_union_different_type > ) t01 > on t00.id = t01.diff_long_type > ; > {code} > Stack trace: > {code} > Diagnostic Messages for this Task: > Error: java.lang.RuntimeException: > org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while > processing row {"id":1,"id2":null,"id3":null,"name":null} > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:169) > at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) > at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343) > at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693) > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime > Error while processing row {"id":1,"id2":null,"id3":null,"name":null} > at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:499) > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:160) > ... 8 more > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unexpected > exception from MapJoinOperator : org.apache.hadoop.io.LongWritable cannot be > cast to org.apache.hadoop.io.IntWritable > at > org.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:465) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:879) > at > org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:130) > at > org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.forward(MapOperator.java:149) > at
[jira] [Commented] (HIVE-18144) Runtime type inference error when join three table for different column type
[ https://issues.apache.org/jira/browse/HIVE-18144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16273915#comment-16273915 ] Wang Haihua commented on HIVE-18144: failed tests seems are not related. cc [~pxiong] could you please review for it. Thanks > Runtime type inference error when join three table for different column type > - > > Key: HIVE-18144 > URL: https://issues.apache.org/jira/browse/HIVE-18144 > Project: Hive > Issue Type: Bug > Components: Query Planning >Affects Versions: 2.1.1, 2.2.0 >Reporter: Wang Haihua >Assignee: Wang Haihua > Attachments: HIVE-18144.1.patch > > > Union operation with three or more table, which has different column types, > may cause type inference error when Task execution. > E.g, e.g. t1(with column int) union all t2(with column int) union all t3(with > column bigint), finally should be {{bigint}}, > RowSchema of union t1 with t2, we call {{leftOp}}, should be int, then leftOp > union t3 should finally be bigint. > This mean RowSchema of leftOp would be {{bigint}} instead of {{int}} > However we see in {{SemanticAnalyzer.java}}, leftOp RowSchema is finally > {{int}} which was wrong: > {code} > (_col0: int|{t01-subquery1}diff_long_type,_col1: > int|{t01-subquery1}id2,_col2: bigint|{t01-subquery1}id3)}} > {code} > Impacted code in SemanticAnalyzer.java: > {code} > if(!(leftOp instanceof UnionOperator)) { > Operator oldChild = leftOp; > leftOp = (Operator) leftOp.getParentOperators().get(0); > leftOp.removeChildAndAdoptItsChildren(oldChild); > } > // make left a child of right > Listchild = > new ArrayList (); > child.add(leftOp); > rightOp.setChildOperators(child); > List parent = leftOp > .getParentOperators(); > parent.add(rightOp); > UnionDesc uDesc = ((UnionOperator) leftOp).getConf(); > // Here we should set RowSchema of leftOp to unionoutRR's, or else the > RowSchema of leftOp is wrong. > // leftOp.setSchema(new RowSchema(unionoutRR.getColumnInfos())); > uDesc.setNumInputs(uDesc.getNumInputs() + 1); > return putOpInsertMap(leftOp, unionoutRR); > {code} > Operation for reproduce: > {code} > create table test_union_different_type(id bigint, id2 bigint, id3 bigint, > name string); > set hive.auto.convert.join=true; > insert overwrite table test_union_different_type select 1, 2, 3, > "test_union_different_type"; > select > t01.diff_long_type as diff_long_type, > t01.id2 as id2, > t00.id as id, > t01.id3 as id3 > from test_union_different_type t00 > left join > ( > select 1 as diff_long_type, 30 as id2, id3 from test_union_different_type > union ALL > select 2 as diff_long_type, 20 as id2, id3 from test_union_different_type > union ALL > select id as diff_long_type, id2, 30 as id3 from test_union_different_type > ) t01 > on t00.id = t01.diff_long_type > ; > {code} > Stack trace: > {code} > Diagnostic Messages for this Task: > Error: java.lang.RuntimeException: > org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while > processing row {"id":1,"id2":null,"id3":null,"name":null} > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:169) > at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) > at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343) > at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693) > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime > Error while processing row {"id":1,"id2":null,"id3":null,"name":null} > at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:499) > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:160) > ... 8 more > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unexpected > exception from MapJoinOperator : org.apache.hadoop.io.LongWritable cannot be > cast to org.apache.hadoop.io.IntWritable > at > org.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:465) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:879) > at > org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:130) > at > org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.forward(MapOperator.java:149) > at
[jira] [Commented] (HIVE-18144) Runtime type inference error when join three table for different column type
[ https://issues.apache.org/jira/browse/HIVE-18144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16265603#comment-16265603 ] Hive QA commented on HIVE-18144: Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12899194/HIVE-18144.1.patch {color:green}SUCCESS:{color} +1 due to 1 test(s) being added or modified. {color:red}ERROR:{color} -1 due to 18 failed/errored test(s), 11411 tests executed *Failed tests:* {noformat} org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver[auto_sortmerge_join_2] (batchId=47) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[hybridgrace_hashjoin_2] (batchId=154) org.apache.hadoop.hive.cli.TestMiniLlapLocalCliDriver.testCliDriver[insert_values_orig_table_use_metadata] (batchId=162) org.apache.hadoop.hive.ql.parse.TestReplicationScenarios.testConstraints (batchId=224) org.apache.hive.jdbc.TestSSL.testConnectionMismatch (batchId=230) org.apache.hive.jdbc.TestSSL.testConnectionWrongCertCN (batchId=230) org.apache.hive.jdbc.TestSSL.testMetastoreConnectionWrongCertCN (batchId=230) org.apache.hive.jdbc.TestTriggersWorkloadManager.testMultipleTriggers1 (batchId=231) org.apache.hive.jdbc.TestTriggersWorkloadManager.testMultipleTriggers2 (batchId=231) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerCustomCreatedDynamicPartitions (batchId=231) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerCustomCreatedDynamicPartitionsMultiInsert (batchId=231) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerCustomCreatedDynamicPartitionsUnionAll (batchId=231) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerCustomCreatedFiles (batchId=231) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerCustomNonExistent (batchId=231) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerHighBytesRead (batchId=231) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerHighShuffleBytes (batchId=231) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerSlowQueryElapsedTime (batchId=231) org.apache.hive.jdbc.TestTriggersWorkloadManager.testTriggerSlowQueryExecutionTime (batchId=231) {noformat} Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/7997/testReport Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/7997/console Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-7997/ Messages: {noformat} Executing org.apache.hive.ptest.execution.TestCheckPhase Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.YetusPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 18 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12899194 - PreCommit-HIVE-Build > Runtime type inference error when join three table for different column type > - > > Key: HIVE-18144 > URL: https://issues.apache.org/jira/browse/HIVE-18144 > Project: Hive > Issue Type: Bug > Components: Query Planning >Affects Versions: 2.1.1, 2.2.0 >Reporter: Wang Haihua >Assignee: Wang Haihua > Attachments: HIVE-18144.1.patch > > > Union operation with three or more table, which has different column types, > may cause type inference error when Task execution. > E.g, e.g. t1(with column int) union all t2(with column int) union all t3(with > column bigint), finally should be {{bigint}}, > RowSchema of union t1 with t2, we call {{leftOp}}, should be int, then leftOp > union t3 should finally be bigint. > This mean RowSchema of leftOp would be {{bigint}} instead of {{int}} > However we see in {{SemanticAnalyzer.java}}, leftOp RowSchema is finally > {{int}} which was wrong: > {code} > (_col0: int|{t01-subquery1}diff_long_type,_col1: > int|{t01-subquery1}id2,_col2: bigint|{t01-subquery1}id3)}} > {code} > Impacted code in SemanticAnalyzer.java: > {code} > if(!(leftOp instanceof UnionOperator)) { > Operator oldChild = leftOp; > leftOp = (Operator) leftOp.getParentOperators().get(0); > leftOp.removeChildAndAdoptItsChildren(oldChild); > } > // make left a child of right > Listchild = > new ArrayList (); > child.add(leftOp); > rightOp.setChildOperators(child); > List parent = leftOp > .getParentOperators(); > parent.add(rightOp); > UnionDesc uDesc = ((UnionOperator) leftOp).getConf(); > // Here we should set RowSchema of leftOp to unionoutRR's, or else the > RowSchema of leftOp is wrong. > // leftOp.setSchema(new RowSchema(unionoutRR.getColumnInfos())); > uDesc.setNumInputs(uDesc.getNumInputs() + 1); >
[jira] [Commented] (HIVE-18144) Runtime type inference error when join three table for different column type
[ https://issues.apache.org/jira/browse/HIVE-18144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16265537#comment-16265537 ] Hive QA commented on HIVE-18144: | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || || || || || {color:brown} Prechecks {color} || | {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue} 0m 1s{color} | {color:blue} Findbugs executables are not available. {color} | | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 6m 12s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 59s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 38s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 52s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 16s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 57s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 57s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 37s{color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} whitespace {color} | {color:red} 0m 0s{color} | {color:red} The patch has 1 line(s) that end in whitespace. Use git apply --whitespace=fix <>. Refer https://git-scm.com/docs/git-apply {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 48s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 13s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 12m 48s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Optional Tests | asflicense javac javadoc findbugs checkstyle compile | | uname | Linux hiveptest-server-upstream 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux | | Build tool | maven | | Personality | /data/hiveptest/working/yetus/dev-support/hive-personality.sh | | git revision | master / d9924ab | | Default Java | 1.8.0_111 | | whitespace | http://104.198.109.242/logs//PreCommit-HIVE-Build-7997/yetus/whitespace-eol.txt | | modules | C: ql U: ql | | Console output | http://104.198.109.242/logs//PreCommit-HIVE-Build-7997/yetus.txt | | Powered by | Apache Yetushttp://yetus.apache.org | This message was automatically generated. > Runtime type inference error when join three table for different column type > - > > Key: HIVE-18144 > URL: https://issues.apache.org/jira/browse/HIVE-18144 > Project: Hive > Issue Type: Bug > Components: Query Planning >Affects Versions: 2.1.1, 2.2.0 >Reporter: Wang Haihua >Assignee: Wang Haihua > Attachments: HIVE-18144.1.patch > > > Union operation with three or more table, which has different column types, > may cause type inference error when Task execution. > E.g, e.g. t1(with column int) union all t2(with column int) union all t3(with > column bigint), finally should be {{bigint}}, > RowSchema of union t1 with t2, we call {{leftOp}}, should be int, then leftOp > union t3 should finally be bigint. > This mean RowSchema of leftOp would be {{bigint}} instead of {{int}} > However we see in {{SemanticAnalyzer.java}}, leftOp RowSchema is finally > {{int}} which was wrong: > {code} > (_col0: int|{t01-subquery1}diff_long_type,_col1: > int|{t01-subquery1}id2,_col2: bigint|{t01-subquery1}id3)}} > {code} > Impacted code in SemanticAnalyzer.java: > {code} > if(!(leftOp instanceof UnionOperator)) { > Operator oldChild = leftOp; > leftOp = (Operator) leftOp.getParentOperators().get(0); > leftOp.removeChildAndAdoptItsChildren(oldChild); > } > // make left a child of right > Listchild = > new ArrayList (); > child.add(leftOp); > rightOp.setChildOperators(child); > List parent = leftOp > .getParentOperators(); >
[jira] [Commented] (HIVE-18144) Runtime type inference error when join three table for different column type
[ https://issues.apache.org/jira/browse/HIVE-18144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16265471#comment-16265471 ] Wang Haihua commented on HIVE-18144: cc [~ashutoshc] [~alangates] could you please review for this patch? Thanks. > Runtime type inference error when join three table for different column type > - > > Key: HIVE-18144 > URL: https://issues.apache.org/jira/browse/HIVE-18144 > Project: Hive > Issue Type: Bug > Components: Query Planning >Affects Versions: 2.1.1, 2.2.0 >Reporter: Wang Haihua >Assignee: Wang Haihua > Attachments: HIVE-18144.1.patch > > > Union operation with three or more table, which has different column types, > may cause type inference error when Task execution. > E.g, e.g. t1(with column int) union all t2(with column int) union all t3(with > column bigint), finally should be {{bigint}}, > RowSchema of union t1 with t2, we call {{leftOp}}, should be int, then leftOp > union t3 should finally be bigint. > This mean RowSchema of leftOp would be {{bigint}} instead of {{int}} > However we see in {{SemanticAnalyzer.java}}, leftOp RowSchema is finally > {{int}} which was wrong: > {code} > (_col0: int|{t01-subquery1}diff_long_type,_col1: > int|{t01-subquery1}id2,_col2: bigint|{t01-subquery1}id3)}} > {code} > Impacted code in SemanticAnalyzer.java: > {code} > if(!(leftOp instanceof UnionOperator)) { > Operator oldChild = leftOp; > leftOp = (Operator) leftOp.getParentOperators().get(0); > leftOp.removeChildAndAdoptItsChildren(oldChild); > } > // make left a child of right > Listchild = > new ArrayList (); > child.add(leftOp); > rightOp.setChildOperators(child); > List parent = leftOp > .getParentOperators(); > parent.add(rightOp); > UnionDesc uDesc = ((UnionOperator) leftOp).getConf(); > // Here we should set RowSchema of leftOp to unionoutRR's, or else the > RowSchema of leftOp is wrong. > // leftOp.setSchema(new RowSchema(unionoutRR.getColumnInfos())); > uDesc.setNumInputs(uDesc.getNumInputs() + 1); > return putOpInsertMap(leftOp, unionoutRR); > {code} > Operation for reproduce: > {code} > create table test_union_different_type(id bigint, id2 bigint, id3 bigint, > name string); > set hive.auto.convert.join=true; > insert overwrite table test_union_different_type select 1, 2, 3, > "test_union_different_type"; > select > t01.diff_long_type as diff_long_type, > t01.id2 as id2, > t00.id as id, > t01.id3 as id3 > from test_union_different_type t00 > left join > ( > select 1 as diff_long_type, 30 as id2, id3 from test_union_different_type > union ALL > select 2 as diff_long_type, 20 as id2, id3 from test_union_different_type > union ALL > select id as diff_long_type, id2, 30 as id3 from test_union_different_type > ) t01 > on t00.id = t01.diff_long_type > ; > {code} > Stack trace: > {code} > Diagnostic Messages for this Task: > Error: java.lang.RuntimeException: > org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while > processing row {"id":1,"id2":null,"id3":null,"name":null} > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:169) > at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:54) > at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:453) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:343) > at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:164) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693) > at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:158) > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime > Error while processing row {"id":1,"id2":null,"id3":null,"name":null} > at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:499) > at org.apache.hadoop.hive.ql.exec.mr.ExecMapper.map(ExecMapper.java:160) > ... 8 more > Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unexpected > exception from MapJoinOperator : org.apache.hadoop.io.LongWritable cannot be > cast to org.apache.hadoop.io.IntWritable > at > org.apache.hadoop.hive.ql.exec.MapJoinOperator.process(MapJoinOperator.java:465) > at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:879) > at > org.apache.hadoop.hive.ql.exec.TableScanOperator.process(TableScanOperator.java:130) > at > org.apache.hadoop.hive.ql.exec.MapOperator$MapOpCtx.forward(MapOperator.java:149) > at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:489)