[
https://issues.apache.org/jira/browse/ORC-1357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Huw updated ORC-1357:
---------------------
Description:
Reader.cc (lines 59-65) handles when the writer doesn't set
compressionBlockSize in the postscript by checking if it's set and using 256 *
1024 if it's not.
The ReaderImpl.java does no such checks (lines 744 and 826), and uses the
protobuffer "empty" value of 0 when the value is not specified.
This means that valid files (compressionBlockSize is optional after all) can't
be read by the Java implementation, but can be by the C++ implementation.
was:
Reader.cc (lines 59-65) handles when the postscript doesn't set
compressionBlockSize in the postscript by checking if it's set and using 256 *
1024 if it's not.
The ReaderImpl.java does no such checks (lines 744 and 826), and uses the
protobuffer "empty" value of 0 when the value is not specified.
This means that valid files (compressionBlockSize is optional after all) can't
be read by the Java implementation, but can be by the C++ implementation.
> Java doesn't handle missing compressionBlockSize while C++ does.
> ----------------------------------------------------------------
>
> Key: ORC-1357
> URL: https://issues.apache.org/jira/browse/ORC-1357
> Project: ORC
> Issue Type: Bug
> Components: compression
> Reporter: Huw
> Priority: Minor
>
> Reader.cc (lines 59-65) handles when the writer doesn't set
> compressionBlockSize in the postscript by checking if it's set and using 256
> * 1024 if it's not.
> The ReaderImpl.java does no such checks (lines 744 and 826), and uses the
> protobuffer "empty" value of 0 when the value is not specified.
> This means that valid files (compressionBlockSize is optional after all)
> can't be read by the Java implementation, but can be by the C++
> implementation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)