[ 
https://issues.apache.org/jira/browse/HIVE-26189?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ádám Szita updated HIVE-26189:
------------------------------
    Description: 
The following test case surfaced two issues with metadata table queries:
{code:java}
CREATE EXTERNAL TABLE `partevv`( `id` int, `ts` timestamp, `ts2` timestamp)  
STORED BY ICEBERG STORED AS ORC TBLPROPERTIES  ('format-version'='1');
ALTER TABLE partevv SET PARTITION SPEC (id);

INSERT INTO partevv VALUES (1, current_timestamp(), current_timestamp());
INSERT INTO partevv VALUES (2, current_timestamp(), current_timestamp());

ALTER TABLE partevv SET PARTITION SPEC (day(ts));
INSERT INTO partevv VALUES (100, current_timestamp(), current_timestamp());

select * from default.partevv.partitions;  {code}
 * NPE for removed partition columns from new specs:

{code:java}
Caused by: java.lang.NullPointerException
        at 
org.apache.iceberg.mr.mapreduce.IcebergInternalRecordWrapper.lambda$converter$5(IcebergInternalRecordWrapper.java:147)
 {code}
 * ClassCastException for day partition transforms

{code:java}
java.lang.ClassCastException: java.lang.Integer cannot be cast to 
java.time.LocalDate {code}

  was:
The following test case surfaced two issues with metadata table queries:
{code:java}
CREATE EXTERNAL TABLE `partevv`( `id` int, `ts` timestamp, `ts2` timestamp)  
STORED BY ICEBERG STORED AS ORC TBLPROPERTIES  ('format-version'='1');
ALTER TABLE partevv SET PARTITION SPEC (id);

INSERT INTO partevv VALUES (1, current_timestamp(), current_timestamp());
INSERT INTO partevv VALUES (2, current_timestamp(), current_timestamp());

ALTER TABLE partevv SET PARTITION SPEC (day(ts));
INSERT INTO partevv VALUES (100, current_timestamp(), current_timestamp());

select * from default.partevv.partitions;  {code}
 * NPE for removed partition columns from new specs

{code:java}
Caused by: java.lang.NullPointerException
        at 
org.apache.iceberg.mr.mapreduce.IcebergInternalRecordWrapper.lambda$converter$5(IcebergInternalRecordWrapper.java:147)
 {code}

 * for day partition transforms: java.lang.ClassCastException: 
java.lang.Integer cannot be cast to java.time.LocalDate


> Iceberg metadata query throws exceptions after partition evolution
> ------------------------------------------------------------------
>
>                 Key: HIVE-26189
>                 URL: https://issues.apache.org/jira/browse/HIVE-26189
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Ádám Szita
>            Assignee: Ádám Szita
>            Priority: Major
>
> The following test case surfaced two issues with metadata table queries:
> {code:java}
> CREATE EXTERNAL TABLE `partevv`( `id` int, `ts` timestamp, `ts2` timestamp)  
> STORED BY ICEBERG STORED AS ORC TBLPROPERTIES  ('format-version'='1');
> ALTER TABLE partevv SET PARTITION SPEC (id);
> INSERT INTO partevv VALUES (1, current_timestamp(), current_timestamp());
> INSERT INTO partevv VALUES (2, current_timestamp(), current_timestamp());
> ALTER TABLE partevv SET PARTITION SPEC (day(ts));
> INSERT INTO partevv VALUES (100, current_timestamp(), current_timestamp());
> select * from default.partevv.partitions;  {code}
>  * NPE for removed partition columns from new specs:
> {code:java}
> Caused by: java.lang.NullPointerException
>         at 
> org.apache.iceberg.mr.mapreduce.IcebergInternalRecordWrapper.lambda$converter$5(IcebergInternalRecordWrapper.java:147)
>  {code}
>  * ClassCastException for day partition transforms
> {code:java}
> java.lang.ClassCastException: java.lang.Integer cannot be cast to 
> java.time.LocalDate {code}



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to