[
https://issues.apache.org/jira/browse/HIVE-29585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kokila N updated HIVE-29585:
----------------------------
Description:
Query:
{code:java}
CREATE TABLE IF NOT EXISTS ice_orc_test (
id INT, random1 STRING
)
PARTITIONED BY (random2 STRING)
STORED BY ICEBERG
TBLPROPERTIES (
'write.format.default'='orc',
'format-version'='2',
'write.orc.compression-codec'='lz4'
);
// Error on the 4th try
INSERT INTO ice_orc_test SELECT if(isnull(MAX(id)) ,0 , MAX(id) ) +1, uuid(),
uuid() FROM ice_orc_test; {code}
Error:
{code:java}
Caused by: java.lang.UnsupportedOperationException
at java.base/java.nio.ByteBuffer.array(ByteBuffer.java:1505)
at
org.apache.orc.impl.AircompressorCodec.decompress(AircompressorCodec.java:94)
at
org.apache.orc.impl.InStream$CompressedStream.readHeader(InStream.java:521)
at
org.apache.orc.impl.InStream$CompressedStream.ensureUncompressed(InStream.java:548)
at org.apache.orc.impl.InStream$CompressedStream.read(InStream.java:535)
at
com.google.protobuf.CodedInputStream$StreamDecoder.read(CodedInputStream.java:2036)
at
com.google.protobuf.CodedInputStream$StreamDecoder.tryRefillBuffer(CodedInputStream.java:2777)
at
com.google.protobuf.CodedInputStream$StreamDecoder.isAtEnd(CodedInputStream.java:2700)
at
com.google.protobuf.CodedInputStream$StreamDecoder.readTag(CodedInputStream.java:2063)
at org.apache.orc.OrcProto$StripeFooter.<init>(OrcProto.java:19300)
at
org.apache.orc.OrcProto$StripeFooter$1.parsePartialFrom(OrcProto.java:20956)
at
org.apache.orc.OrcProto$StripeFooter$1.parsePartialFrom(OrcProto.java:20950)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:63)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:68)
at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:25)
at
com.google.protobuf.GeneratedMessageV3.parseWithIOException(GeneratedMessageV3.java:353)
at org.apache.orc.OrcProto$StripeFooter.parseFrom(OrcProto.java:19736)
at
org.apache.hadoop.hive.llap.io.encoded.OrcEncodedDataReader.buildStripeFooter(OrcEncodedDataReader.java:691)
at
org.apache.hadoop.hive.llap.io.encoded.OrcEncodedDataReader.getStripeFooterFromCacheOrDisk(OrcEncodedDataReader.java:740)
at
org.apache.hadoop.hive.llap.io.encoded.OrcEncodedDataReader.readStripesMetadata(OrcEncodedDataReader.java:707)
at
org.apache.hadoop.hive.llap.io.encoded.OrcEncodedDataReader.performDataRead(OrcEncodedDataReader.java:360)
{code}
> ORC LZ4: OrcEncodedDataReader stripe footer fails on direct ByteBuffers from
> LLAP cache / ZCR
> ---------------------------------------------------------------------------------------------
>
> Key: HIVE-29585
> URL: https://issues.apache.org/jira/browse/HIVE-29585
> Project: Hive
> Issue Type: Bug
> Reporter: Kokila N
> Assignee: Kokila N
> Priority: Major
>
> Query:
> {code:java}
> CREATE TABLE IF NOT EXISTS ice_orc_test (
> id INT, random1 STRING
> )
> PARTITIONED BY (random2 STRING)
> STORED BY ICEBERG
> TBLPROPERTIES (
> 'write.format.default'='orc',
> 'format-version'='2',
> 'write.orc.compression-codec'='lz4'
> );
> // Error on the 4th try
> INSERT INTO ice_orc_test SELECT if(isnull(MAX(id)) ,0 , MAX(id) ) +1, uuid(),
> uuid() FROM ice_orc_test; {code}
> Error:
> {code:java}
> Caused by: java.lang.UnsupportedOperationException
> at java.base/java.nio.ByteBuffer.array(ByteBuffer.java:1505)
> at
> org.apache.orc.impl.AircompressorCodec.decompress(AircompressorCodec.java:94)
> at
> org.apache.orc.impl.InStream$CompressedStream.readHeader(InStream.java:521)
> at
> org.apache.orc.impl.InStream$CompressedStream.ensureUncompressed(InStream.java:548)
> at
> org.apache.orc.impl.InStream$CompressedStream.read(InStream.java:535)
> at
> com.google.protobuf.CodedInputStream$StreamDecoder.read(CodedInputStream.java:2036)
> at
> com.google.protobuf.CodedInputStream$StreamDecoder.tryRefillBuffer(CodedInputStream.java:2777)
> at
> com.google.protobuf.CodedInputStream$StreamDecoder.isAtEnd(CodedInputStream.java:2700)
> at
> com.google.protobuf.CodedInputStream$StreamDecoder.readTag(CodedInputStream.java:2063)
> at org.apache.orc.OrcProto$StripeFooter.<init>(OrcProto.java:19300)
> at
> org.apache.orc.OrcProto$StripeFooter$1.parsePartialFrom(OrcProto.java:20956)
> at
> org.apache.orc.OrcProto$StripeFooter$1.parsePartialFrom(OrcProto.java:20950)
> at
> com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:63)
> at
> com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:68)
> at
> com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:25)
> at
> com.google.protobuf.GeneratedMessageV3.parseWithIOException(GeneratedMessageV3.java:353)
> at org.apache.orc.OrcProto$StripeFooter.parseFrom(OrcProto.java:19736)
> at
> org.apache.hadoop.hive.llap.io.encoded.OrcEncodedDataReader.buildStripeFooter(OrcEncodedDataReader.java:691)
> at
> org.apache.hadoop.hive.llap.io.encoded.OrcEncodedDataReader.getStripeFooterFromCacheOrDisk(OrcEncodedDataReader.java:740)
> at
> org.apache.hadoop.hive.llap.io.encoded.OrcEncodedDataReader.readStripesMetadata(OrcEncodedDataReader.java:707)
> at
> org.apache.hadoop.hive.llap.io.encoded.OrcEncodedDataReader.performDataRead(OrcEncodedDataReader.java:360)
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)