[ 
https://issues.apache.org/jira/browse/HIVE-29415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18053679#comment-18053679
 ] 

Raghav Aggarwal commented on HIVE-29415:
----------------------------------------

Please check discussion: 
https://github.com/apache/hive/pull/6242#issuecomment-3701388578

> Iceberg: join on timestamp nano type is failing
> -----------------------------------------------
>
>                 Key: HIVE-29415
>                 URL: https://issues.apache.org/jira/browse/HIVE-29415
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Raghav Aggarwal
>            Assignee: Raghav Aggarwal
>            Priority: Major
>         Attachments: stacktrace.txt, timestamp_ns_join.q
>
>
> Attaching the qfile and stacktrace
> {code:java}
> create table t1 (id int, ts timestamp(9)) stored BY ICEBERG STORED AS PARQUET 
> TBLPROPERTIES('format-version'='3');
> create table t2 (id int, ts timestamp(9)) stored BY ICEBERG STORED AS PARQUET 
> TBLPROPERTIES('format-version'='3');
> insert into t1 values(1,'2025-12-30 11:19:00.123456789');
> insert into t2 values(1,'2025-12-30 11:19:00.123456789');
> SET hive.auto.convert.join=true;
> select * from t1 join t2 where t1.ts=t2.ts; {code}
> Steps to repro:
> {code:java}
> mvn test -Dtest=TestIcebergCliDriver -Dqfile=timestamp_ns_join.q 
> -Dtest.output.overwrite -Drat.skip -Pitests -pl itests/qtest-iceberg {code}
> stacktrace:
> {code:java}
> Caused by: java.lang.IllegalStateException: Not an instance of 
> java.lang.Long: 2025-12-30T11:19:00.123456789  at 
> org.apache.iceberg.data.GenericRecord.get(GenericRecord.java:138)    at 
> org.apache.iceberg.data.InternalRecordWrapper.get(InternalRecordWrapper.java:101)
>     at org.apache.iceberg.Accessors$PositionAccessor.get(Accessors.java:71) 
> at org.apache.iceberg.Accessors$PositionAccessor.get(Accessors.java:58) at 
> org.apache.iceberg.expressions.BoundReference.eval(BoundReference.java:41)   
> at 
> org.apache.iceberg.expressions.Evaluator$EvalVisitor.isNull(Evaluator.java:86)
>        at 
> org.apache.iceberg.expressions.Evaluator$EvalVisitor.isNull(Evaluator.java:51)
>        at 
> org.apache.iceberg.expressions.ExpressionVisitors$BoundVisitor.predicate(ExpressionVisitors.java:298)
>         at 
> org.apache.iceberg.expressions.ExpressionVisitors.visitEvaluator(ExpressionVisitors.java:390)
>         at 
> org.apache.iceberg.expressions.ExpressionVisitors.visitEvaluator(ExpressionVisitors.java:402)
>         at 
> org.apache.iceberg.expressions.Evaluator$EvalVisitor.eval(Evaluator.java:56) 
> at org.apache.iceberg.expressions.Evaluator.eval(Evaluator.java:48)     at 
> org.apache.iceberg.mr.mapreduce.AbstractIcebergRecordReader.lambda$applyResidualFiltering$0(AbstractIcebergRecordReader.java:98)
>      at 
> org.apache.iceberg.io.CloseableIterable$4.shouldKeep(CloseableIterable.java:129)
>      at org.apache.iceberg.io.FilterIterator.advance(FilterIterator.java:66) 
> at org.apache.iceberg.io.FilterIterator.hasNext(FilterIterator.java:49) at 
> org.apache.iceberg.io.FilterIterator.advance(FilterIterator.java:64) at 
> org.apache.iceberg.io.FilterIterator.hasNext(FilterIterator.java:49) at 
> org.apache.iceberg.mr.mapreduce.IcebergRecordReader.nextKeyValue(IcebergRecordReader.java:119)
>        at 
> org.apache.iceberg.mr.mapred.MapredIcebergInputFormat$MapredIcebergRecordReader.next(MapredIcebergInputFormat.java:102)
>       at 
> org.apache.iceberg.mr.mapred.MapredIcebergInputFormat$MapredIcebergRecordReader.next(MapredIcebergInputFormat.java:88)
>        at 
> org.apache.hadoop.hive.ql.io.HiveContextAwareRecordReader.doNext(HiveContextAwareRecordReader.java:373)
>       at 
> org.apache.hadoop.hive.ql.io.HiveRecordReader.doNext(HiveRecordReader.java:82)
>        at 
> org.apache.hadoop.hive.ql.io.HiveContextAwareRecordReader.next(HiveContextAwareRecordReader.java:118)
>         at 
> org.apache.hadoop.hive.ql.io.HiveContextAwareRecordReader.next(HiveContextAwareRecordReader.java:58)
>  at 
> org.apache.hadoop.mapred.split.TezGroupedSplitsInputFormat$TezGroupedSplitsRecordReader.next(TezGroupedSplitsInputFormat.java:209)
>    at 
> org.apache.tez.mapreduce.lib.MRReaderMapred.next(MRReaderMapred.java:117)    
> at 
> org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.pushRecord(MapRecordSource.java:75)
>        at 
> org.apache.hadoop.hive.ql.exec.tez.MapRecordProcessor.run(MapRecordProcessor.java:414)
>        at 
> org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:293)
>      ... 16 more
>  {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to