apache / apache/parquet-java

make the default behavior for proto writing not-backwards compatible

Open
#2,707 0 comments 0 reactions 0 assignees View on GitHub
Component: Parquet Component: Protobuf Priority: Minor Type: enhancement
Dominant language
Java
Stars
3.1k
Forks
1.6k
Avg merge
3d 12h
Merged PRs (30d)
33

Description

https://issues.apache.org/jira/browse/PARQUET-968 introduced supporting maps and lists in a spec compliant way.  however, to not break existing libraries, a flag was introduced and defaulted the write behavior to NOT use the specs compliant writes.

it's been over 5 years, and people should be really off of it.  so much so, that trying to use the new parquet-cli tool to read parquet files generated by flink doesn't work b/c it's hard coded to never allow the old style.  the deprecated parquet-tools reads these files fine b/c it's the older style.

i started coding up a workaround in flink-parquet and parquet-cli, but stopped.  we really should just move on at this point, imho.  protobufs often have repeated primitives and maps, so it's more pressing to get proper specs compliant support for it now.  we should keep the flag around and let people override it back to being backwards compatible though.

i have the code written and can submit a PR if you'd like.

i'm not an expert in parquet though, so i'm unclear as to the deep downstream ramifications of this change, so i would love to get feedback in this area.

**Reporter**: [J Y](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=jinyius) / @jinyius

**Note**: *This issue was originally created as [PARQUET-2180](https://issues.apache.org/jira/browse/PARQUET-2180). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*

Contributor guide

No contributing guide indexed for this repository

Research direction

Review PARQUET-968 and the migration documentation first, then inspect the existing flag handling in flink-parquet and parquet-cli. Confirm the default becomes spec-compliant while the backwards-compatible override remains available, and test parquet-cli against files generated by Flink and the older style.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
data-engineering
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.