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)