apache / apache/parquet-java

Data masking(null) for column encryption

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

Description

When user doesn't have permisson on a column that are encrypted by the column encryption feature (parquet-1178), returning a masked value could avoid an exception and let the call succeed.

We would like to introduce the data masking with null values. The idea is when the user gets key access denied and the user can accept null(via a reading option flag), we would return null for the encrypted columns. This solution doesn't need to save extra columns for masked value and doesn't need to translate existing data.

**Reporter**: [Xinli Shang](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=shangx@uber.com) / @shangxinli
**Assignee**: [Xinli Shang](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=shangx@uber.com) / @shangxinli

**Note**: *This issue was originally created as [PARQUET-2062](https://issues.apache.org/jira/browse/PARQUET-2062). 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

Start by reading the existing column encryption feature referenced as parquet-1178 and the reader option handling. Trace the key-access-denied path and determine where the null-accepting flag belongs. Done means encrypted columns return null only when the option is enabled, while existing data needs no translation or extra masked-value columns.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
data, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.