[ https://issues.apache.org/jira/browse/HIVE-17530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anthony Hsu updated HIVE-17530: ------------------------------- Description: To repro: {noformat} SET hive.exec.schema.evolution = false; CREATE TABLE avro_orc_partitioned_uniontype (a uniontype<boolean, string>) PARTITIONED BY (b int) STORED AS ORC; INSERT INTO avro_orc_partitioned_uniontype PARTITION (b=1) SELECT create_union(1, true, value) FROM src LIMIT 5; ALTER TABLE avro_orc_partitioned_uniontype SET FILEFORMAT AVRO; SELECT * FROM avro_orc_partitioned_uniontype; {noformat} The exception you get is: {code} java.io.IOException:org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.ClassCastException: java.util.ArrayList cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.UnionObject {code} The issue is that StandardUnionObjectInspector was creating and returning an ArrayList rather than a UnionObject. was: To repro: {noformat} SET hive.exec.schema.evolution = false; CREATE TABLE avro_orc_partitioned_uniontype (a uniontype<boolean, string>) PARTITIONED BY (b int) STORED AS ORC; INSERT INTO avro_orc_partitioned_uniontype PARTITION (b=1) SELECT create_union(1, true, value) FROM src LIMIT 5; ALTER TABLE avro_orc_partitioned_uniontype SET FILEFORMAT AVRO; SELECT * FROM avro_orc_partitioned_uniontype; {noformat} The exception you get is: {code} java.io.IOException:org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.ClassCastException: java.util.ArrayList cannot be cast to org.apache.hadoop.hive.serde2.objectinspector.UnionObject {code} > ClassCastException when converting uniontype > -------------------------------------------- > > Key: HIVE-17530 > URL: https://issues.apache.org/jira/browse/HIVE-17530 > Project: Hive > Issue Type: Bug > Affects Versions: 1.1.0, 3.0.0 > Reporter: Anthony Hsu > Assignee: Anthony Hsu > Attachments: HIVE-17530.1.patch, HIVE-17530.2.patch > > > To repro: > {noformat} > SET hive.exec.schema.evolution = false; > CREATE TABLE avro_orc_partitioned_uniontype (a uniontype<boolean, string>) > PARTITIONED BY (b int) STORED AS ORC; > INSERT INTO avro_orc_partitioned_uniontype PARTITION (b=1) SELECT > create_union(1, true, value) FROM src LIMIT 5; > ALTER TABLE avro_orc_partitioned_uniontype SET FILEFORMAT AVRO; > SELECT * FROM avro_orc_partitioned_uniontype; > {noformat} > The exception you get is: > {code} > java.io.IOException:org.apache.hadoop.hive.ql.metadata.HiveException: > java.lang.ClassCastException: java.util.ArrayList cannot be cast to > org.apache.hadoop.hive.serde2.objectinspector.UnionObject > {code} > The issue is that StandardUnionObjectInspector was creating and returning an > ArrayList rather than a UnionObject. -- This message was sent by Atlassian JIRA (v6.4.14#64029)