Raghav Aggarwal created HIVE-29415:
--------------------------------------

             Summary: 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


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