You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Archie Menzies (Jira)" <ji...@apache.org> on 2021/08/11 15:53:00 UTC

[jira] [Created] (ARROW-13609) RowGroupMetaData file_offset set incorrectly

Archie Menzies created ARROW-13609:
--------------------------------------

             Summary: RowGroupMetaData file_offset set incorrectly
                 Key: ARROW-13609
                 URL: https://issues.apache.org/jira/browse/ARROW-13609
             Project: Apache Arrow
          Issue Type: Bug
          Components: C++
            Reporter: Archie Menzies


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)