apache / apache/parquet-java

Fix the bug when predicate contains columns not specified in prejection, to prevent filtering out data improperly

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

Description

As is reported in Parquet-427, data will be filtered out improperly under the case where:
1. predicates - requested schema ≠ ∅
2. predicates - file schema = ∅

To give an example:
data:

|a|b|
|-|-|
|1|1|
|2|2|
|3|3|

file schema: a,b, requested schema: a, and predicate: b = 1

we should get:

|a|
|-|
|1|

but we'll end up get nothing, which is wrong.

This issue proposes to fix this.

**Reporter**: [Liwei Lin(Inactive)](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=proflin) / @lw-lin
**Assignee**: [Liwei Lin(Inactive)](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=proflin) / @lw-lin

**Note**: *This issue was originally created as [PARQUET-425](https://issues.apache.org/jira/browse/PARQUET-425). 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 linked Parquet-427 report and reproducing the issue's example with file schema a,b, requested schema a, and predicate b = 1. No source file or test is named; done means the result retains the row with a = 1 instead of filtering out all data.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases
Issue type
Bug
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.