[Feature] Prune manifest partitions before metadata decoding
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 25/100
Piste de recherche
The payload names no source files. Start with the existing ManifestEntry and DataFileMeta construction and the bucket-scoped snapshot manifest cache, then read the linked PR #430, which already implements this work. Done means partition predicates run before full entry decoding on ordinary reads, Arrow-cache reads and snapshot-cache hits, with cached values kept complete and existing merge semantics unchanged.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Search before asking
- I searched the existing issues for manifest partition pruning and found no matching issue.
Motivation
Partition-selective scans currently construct complete manifest entries and file metadata before discarding entries outside the requested partition. This also affects repeated reads from the bucket-scoped snapshot manifest cache, which can contain live files from many partitions.
When a query needs only a small subset of those entries, decoding unrelated file metadata and statistics adds avoidable allocation and planning work. The optimization should apply consistently to ordinary manifest reads, manifest Arrow-cache reads, and exact snapshot-cache hits.
Solution
Evaluate partition predicates before constructing full ManifestEntry and DataFileMeta objects, reusing the existing manifest batch and row-range reading paths. On snapshot-cache hits, select the exact retained snapshot and skip other snapshots without materializing their entries.
Preserve the existing lazy-decode option, ADD/DELETE merge semantics, remaining scan filters, retention limits, and metrics. Keep cached values complete across different partition predicates. Predicate evaluation errors must propagate; malformed snapshot-cache values should fall back to rebuilding from manifests. No table or cache format change is required.
Anything else?
Implementation: https://github.com/apache/paimon-cpp/pull/430
Are you willing to submit a PR?
- I'm willing to submit a PR (PR #430 is already open).
- Langage dominant
- C++
- Étoiles
- 68
- Forks
- 34
- Merge moyen
- 3 j 18 h
- PR mergées (30 j)
- 44
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de apache/paimon-cpp
-
fix(executor): avoid retaining a callback when lazy worker startup failsPeut-être pris @realAaronWu l’a pris il y a 3 jours. Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 15/100
apache/paimon-cpp#436 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 8/100
apache/paimon-cpp#435 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
apache/paimon-cpp#410 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
apache/paimon-cpp#409 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
apache/paimon-cpp#408 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de apache/paimon-cpp
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 91/100
FujiNetWIFI/fujinet-firmware#2045 ·
Les mainteneurs répondent en général sous 1 jour
-
(S1 - Need confirmation)
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
CleverRaven/Cataclysm-DDA#89159 ·
Les mainteneurs répondent en général sous 1 jour
-
area:libnvmpi bug P3
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
gjrtimmer/jetson-nvmpi#33 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Les mainteneurs répondent en général sous 1 jour
-
bug(wasi_crypto): ArrayOutput::pull reports the wrong all-pulled flagPeut-être pris @Yashbhu l’a pris aujourd’hui. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 1 jour