apache / apache/parquet-java

Add integration tests for all `parquet-testing` files

Đang mở
#3,670 4 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Java
Star
3.1k
Fork
1.6k
Merge trung bình
3 ngày 12 giờ
Pull request đã merge (30 ngày)
33

Mô tả

## Feature request

Add integration tests that run against every Parquet file in the [`apache/parquet-testing`](https://github.com/apache/parquet-testing) repository.

## Problem

`parquet-java` currently [tests only selected files](https://github.com/apache/parquet-java/blob/b6fb9e2f4d08961d32d88ff6e45f454d16c32255/parquet-hadoop/src/test/java/org/apache/parquet/hadoop/InterOpTester.java#L36) from `parquet-testing`. As a result, new interoperability fixtures are not automatically tested, and compatibility regressions may go undetected.

There are already several [`parquet-java` issues involving files from `parquet-testing`](https://github.com/apache/parquet-java/issues?q=is%3Aissue%20state%3Aopen%20parquet%20testing).

## Proposed solution

Add integration tests that classify files into two groups:

- **Valid files:** must open successfully and allow all row groups and columns to be read.
- **Invalid files:** must fail during footer parsing or record decoding with an expected exception.

`InterOpTester` already supports downloading individual files from `parquet-testing`. This feature would extend that approach to provide repository-wide coverage.

## Acceptance criteria

- [ ] Every Parquet file in the pinned revision is classified.
- [ ] All valid files are read successfully.
- [ ] All invalid files fail as expected.
- [ ] Each file is reported as an independent test.
- [ ] Unclassified files cause the test to fail.
- [ ] Exclusions require an explicit entry linked to a tracking issue.

## Related issues

- [#3336: Hadoop parquet reader and parquet CLI fail on some files from `parquet-testing`](https://github.com/apache/parquet-java/issues/3336)
- [#1686: Add integration test for BYTE_STREAM_SPLIT](https://github.com/apache/parquet-java/issues/1686)
- [#3633: Older `parquet-java` readers fail on files with unprojected VARIANT columns](https://github.com/apache/parquet-java/issues/3633)

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Bắt đầu với parquet-hadoop/src/test/java/org/apache/parquet/hadoop/InterOpTester.java và xem lại cách nó tải xuống cũng như kiểm thử các tệp parquet-testing đã chọn. Chạy các bài kiểm thử khả năng tương tác hiện có, sau đó ánh xạ mọi tệp trong revision parquet-testing đã được ghim vào các trường hợp hợp lệ hoặc không hợp lệ. Hoàn tất có nghĩa là mọi tệp đều được báo cáo độc lập, các tệp hợp lệ được đọc thành công, các tệp không hợp lệ thất bại như mong đợi và các tệp chưa được phân loại làm bài kiểm thử thất bại.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java
Lĩnh vực
testing-qa
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
55/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.