You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@orc.apache.org by "Huw (Jira)" <ji...@apache.org> on 2023/01/13 00:35:00 UTC

[jira] [Updated] (ORC-1357) Java doesn't handle missing compressionBlockSize while C++ does.

     [ 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)