apache / apache/parquet-java

Add integration tests for all `parquet-testing` files

Ouverte
#3,670 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Java
Étoiles
3.1k
Forks
1.6k
Merge moyen
3 j 12 h
PR mergées (30 j)
33

Description

## 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)

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par parquet-hadoop/src/test/java/org/apache/parquet/hadoop/InterOpTester.java et examinez comment il télécharge et teste les fichiers parquet-testing sélectionnés. Exécutez les tests d’interopérabilité existants, puis classez chaque fichier de la révision épinglée de parquet-testing dans un cas valide ou invalide. Le travail est terminé lorsque tous les fichiers sont signalés indépendamment, que les fichiers valides sont lus avec succès, que les fichiers invalides échouent comme prévu et que les fichiers non classés font échouer le test.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
testing-qa
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
55/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.