apache / apache/arrow

[C++][Parquet] "Keep redacted metadata version for old readers"

Open
#50,969 5 comments 0 reactions 0 assignees View on GitHub
Component: C++ Component: Parquet Type: bug
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Describe the bug, including details regarding any error messages, version, and platform.

This code here looks slightly fishy:
https://github.com/apache/arrow/blob/8b469b179da3bda89d5e8d24c82523553f5aca5c/cpp/src/parquet/metadata.cc#L1787-L1796

Basically, when encrypting a Parquet file with plaintext footer, the Parquet writer _also_ keeps most of the column metadata in plaintext (except statistics).

### Component(s)

C++, Parquet

Contributor guide

Open the contributing guide

Research direction

Read cpp/src/parquet/metadata.cc at lines 1787-1796 and trace the plaintext-footer encryption path. The report names no test and does not specify the expected metadata-version behavior, so clarify the old-reader compatibility requirement before changing code. Done means the intended behavior is agreed and verified by an appropriate Parquet test.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
data-engineering, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.