[
https://issues.apache.org/jira/browse/HIVE-29415?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Raghav Aggarwal updated HIVE-29415:
-----------------------------------
Attachment: timestamp_ns_join.q
stacktrace.txt
> 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)