You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@parquet.apache.org by "Micah Kornfield (Jira)" <ji...@apache.org> on 2021/09/14 03:50:00 UTC
[jira] [Commented] (PARQUET-2089) RowGroupMetaData file_offset set
incorrectly
[ https://issues.apache.org/jira/browse/PARQUET-2089?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17414695#comment-17414695 ]
Micah Kornfield commented on PARQUET-2089:
------------------------------------------
CC [~zeroshade]
> RowGroupMetaData file_offset set incorrectly
> --------------------------------------------
>
> Key: PARQUET-2089
> URL: https://issues.apache.org/jira/browse/PARQUET-2089
> Project: Parquet
> Issue Type: Bug
> Components: parquet-cpp
> Reporter: Archie Menzies
> Priority: Major
>
> It appears that the RowGroupMetaData file_offset property is being set to the same value as the first ColumnMetaData file_offset property in [https://github.com/apache/arrow/blob/8e43f23dcc6a9e630516228f110c48b64d13cec6/cpp/src/parquet/metadata.cc#L1557-L1565]
>
> This is not consistent with the definition of these properties given in the Thrift file: [https://github.com/apache/arrow/blob/master/cpp/src/parquet/parquet.thrift]
> {code:java}
> struct ColumnChunk {
> ...
> /** Byte offset in file_path to the ColumnMetaData **/
> 2: required i64 file_offset
>
> ...
> }
> ...
> struct RowGroup {
> ...
> /** Byte offset from beginning of file to first page (data or dictionary)
> * in this row group **/
> 5: optional i64 file_offset
> ...
> }
> {code}
> This is causing issues when trying to read the file with the parquet-mr libraries, because the RowGroup's file offset is used to determine whether a RowGroup exists within a given file split: [https://github.com/apache/parquet-mr/blob/master/parquet-hadoop/src/main/java/org/apache/parquet/format/converter/ParquetMetadataConverter.java#L1226-L1251]
>
> This issue is therefore resulting in Parquet files which cannot be read as the metadata is incorrect.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)