[
https://issues.apache.org/jira/browse/ORC-2094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
剡浩博 updated ORC-2094:
---------------------
Attachment: image-2026-02-14-22-25-32-311.png
> Query fails with equality predicate conditions on ORC files but succeeds
> without predicates
> --------------------------------------------------------------------------------------------
>
> Key: ORC-2094
> URL: https://issues.apache.org/jira/browse/ORC-2094
> Project: ORC
> Issue Type: Bug
> Components: Java
> Affects Versions: 2.2.2
> Reporter: 剡浩博
> Priority: Major
> Fix For: 2.2.2
>
> Attachments: image-2026-02-14-22-25-32-311.png, test-2.orc
>
>
> SearchArgument serg = SearchArgumentFactory
> .newBuilder()
> .in("id", PredicateLeaf.Type.LONG, 1768340234239361938L)
> .build();
> When querying ORC files, the query executes successfully if no predicate
> conditions are applied. However, when equality predicate conditions are
> included in the query, the query fails with the following error:
> Exception in thread "main" java.lang.IllegalArgumentException: newPosition <
> 0: (-3855 < 0)
> at java.base/java.nio.Buffer.createPositionException(Buffer.java:352)
> at java.base/java.nio.Buffer.position(Buffer.java:327)
> at java.base/java.nio.ByteBuffer.position(ByteBuffer.java:1557)
> at org.apache.orc.impl.InStream$CompressedStream.setCurrent(InStream.java:473)
> at org.apache.orc.impl.InStream$CompressedStream.slice(InStream.java:632)
> at org.apache.orc.impl.InStream$CompressedStream.readHeader(InStream.java:504)
> at
> org.apache.orc.impl.InStream$CompressedStream.ensureUncompressed(InStream.java:548)
> at org.apache.orc.impl.InStream$CompressedStream.read(InStream.java:535)
> at
> org.apache.orc.impl.SerializationUtils.readLongBE(SerializationUtils.java:1208)
> at
> org.apache.orc.impl.SerializationUtils.unrolledUnPackBytes(SerializationUtils.java:1122)
> at
> org.apache.orc.impl.SerializationUtils.unrolledUnPack64(SerializationUtils.java:1111)
> at
> org.apache.orc.impl.SerializationUtils.readInts(SerializationUtils.java:969)
> at
> org.apache.orc.impl.RunLengthIntegerReaderV2.readDirectValues(RunLengthIntegerReaderV2.java:275)
> at
> org.apache.orc.impl.RunLengthIntegerReaderV2.readValues(RunLengthIntegerReaderV2.java:71)
> at
> org.apache.orc.impl.RunLengthIntegerReaderV2.next(RunLengthIntegerReaderV2.java:329)
> at
> org.apache.orc.impl.RunLengthIntegerReaderV2.nextVector(RunLengthIntegerReaderV2.java:379)
> at
> org.apache.orc.impl.TreeReaderFactory$LongTreeReader.nextVector(TreeReaderFactory.java:744)
> at
> org.apache.orc.impl.reader.tree.StructBatchReader.readBatchColumn(StructBatchReader.java:65)
> at
> org.apache.orc.impl.reader.tree.StructBatchReader.nextBatchForLevel(StructBatchReader.java:100)
> at
> org.apache.orc.impl.reader.tree.StructBatchReader.nextBatch(StructBatchReader.java:77)
> at org.apache.orc.impl.RecordReaderImpl.nextBatch(RecordReaderImpl.java:1440)
> at org.apache.orc.OrcTest.main(OrcTest.java:36)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)